-
Notifications
You must be signed in to change notification settings - Fork 0
/
keys_input.py
101 lines (79 loc) · 3.1 KB
/
keys_input.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
'''Данный модуль позволяет запускать различные действия после нажания клавиш пользователем.
Он позволяет контроллировать очередность запускаемых функций и тем самым избежать ошибок.
В данный момент с его помощью работают модули gun_gravity и gun_animations (хотя они могут работать и отдельно (сами анализируют нажатия клавиш) (нужно просто к нип подключить сенсоры всех требуемых клавиш).
Структура:
keys_input():
gun_gravity;
gun_animations.
Требует:
наличие модулей:
gun_gravity;
gun_animations;
keys_reductions.
Author: Vladislav Naumov. [email protected]; github.com/vlad1777d; vk.com/naumovvladislav
License: CC-BY. To use this under other license contact author.
Revision: 5
'''
import bge
import gun_gravity as gravity
import gun_animations as animations
from keys_reductions import *
def pressed():
''' Обрабатывает любые клавиши, вызывает нужную реакцию на них.
'''
'''print('pressed activated')
print('wkey reduced: ', keyb.events[W])
#print('thr. point', eval('bge.logic.keyboard.events[bge.events.WKEY]'))
#print(bge.logic.keyboard.events[W])
print('activated: ', activated)
print(keyb.events[W] == activated)
#pr_keys()'''
# Keyboard 1
if activated in keyb.inputs[W].queue:
animations.animate()
elif deactivated in keyb.inputs[W].queue:
animations.animate()
if activated in keyb.inputs[A].queue:
animations.animate()
elif deactivated in keyb.inputs[A].queue:
animations.animate()
if activated in keyb.inputs[D].queue:
animations.animate()
elif deactivated in keyb.inputs[D].queue:
animations.animate()
if activated in keyb.inputs[S].queue:
animations.animate()
elif deactivated in keyb.inputs[S].queue:
animations.animate()
# Mouse:
if activated in mouse.inputs[LEFT_MOUSE].queue:
gravity.gravity()
animations.animate()
elif deactivated in mouse.inputs[LEFT_MOUSE].queue:
gravity.gravity()
animations.animate()
if activated in mouse.inputs[RIGHT_MOUSE].queue:
gravity.gravity()
animations.animate()
elif deactivated in mouse.inputs[RIGHT_MOUSE].queue:
gravity.gravity()
animations.animate()
if activated in mouse.inputs[MIDDLE_MOUSE].queue:
gravity.gravity()
animations.animate()
elif deactivated in mouse.inputs[MIDDLE_MOUSE].queue:
gravity.gravity()
animations.animate()
if activated in mouse.inputs[WHEELDOWN_MOUSE].queue:
gravity.gravity()
animations.animate()
elif deactivated in mouse.inputs[WHEELDOWN_MOUSE].queue:
gravity.gravity()
animations.animate()
if activated in mouse.inputs[WHEELUP_MOUSE].queue:
gravity.gravity()
animations.animate()
elif deactivated in mouse.inputs[WHEELUP_MOUSE].queue:
gravity.gravity()
animations.animate()
animations.stand_straight() # при первом запуске