Смена управления в игре (Keyboard Key Code)

Сообщение Смена управления в игре (Keyboard Key Code)
» 18 мар 2013, 00:59

Для своей игры делаю возможность менять управление прямо в игре, в настройках. Думаю многим будет полезно узнать как это делается.

У объекта keyboard существуют специальные клавиши-коды, в которых записано числовое значение каждой клавиши на клавиатуре. В игре, с помощью переменных, можно получить эти значения и назначить их на определенное действие, вместо заранее прописанной в событиях клавиши.

Условия:

Изображение

  • Key code is down (клавиша-код зажата) - тоже самое, что и Key is down только вместо клавиши вы вписываете код клавиши (например, 8 это backspace).
  • On key code pressed (клавиша-код нажата один раз) - тоже самое, что и On key pressed, только вместо клавиши код.
  • On key code released (клавиша-код отжата) - тоже самое, что и On key released, только вместо клавиши код.

Действия:

Отсутствуют (они и не нужны).

Выражения:

Изображение

  • LastKeyCode (текущая нажатая клавиша-код) - позволяет получить значение (в виде номера) текущей нажатой клавиши на клавиатуре. С помощью этого выражения можно записывать нажатие клавиш в переменную, а затем получать из нее клавишу для выполнения действия в игре. Например прыжка или ходьбы.
  • StringFromKeyCode (строка из клавиши-кода) - позволяет получить оригинальное название клавиши из клавиши-кода. С помощью этого выражения вы можете из цифр получить название клавиши обратно, например, если клавиша-код была 65, то вы получите название клавиши A. Учтите, что системные клавиши, например, Enter или Space не выводятся в виде строки. У них можно получить только номер.

Вот все клавиши-коды, которые мне удалось получить:







 Клавиши-коды >>>





Клавиша-код - Клавиша на клавиатуре:

8 - backspace
9 - tab
13 - enter
16 - shift
17 - ctrl
18 - alt
19 - pause break
20 - caps lock
27 - esc
32 - space
33 - page up
34 - page down
35 - end
36 - home
37 - left
38 - up
39 - right
40 - down
45 - insert
46 - delete
48 - 0
49 - 1
50 - 2
51 - 3
52 - 4
53 - 5
54 - 6
55 - 7
56 - 8
57 - 9
65 - a
66 - b
67 - c
68 - d
69 - e
70 - f
71 - g
72 - h
73 - i
74 - j
75 - k
76 - l
77 - m
78 - n
79 - o
80 - p
81 - q
82 - r
83 - s
84 - t
85 - u
86 - v
87 - w
88 - x
89 - y
90 - z
91 - windows
92 - windows
93 - text
96 - num 0
97 - num 1
98 - num 2
99 - num 3
100 - num 4
101 - num 5
102 - num 6
103 - num 7
104 - num 8
105 - num 9
106 - num *
107 - num +
109 - num -
110 - num del
111 - num /
112 - f1
113 - f2
114 - f3
115 - f4
116 - f5
117 - f6
118 - f7
119 - f8
120 - f9
121 - f10
122 - f11
123 - f12
144 - num lock
145 - scroll lock
186 - ;
187 - +
188 - ,
189 - -
190 - .
191 - ?
192 - ё
219 - [
220 - \
221 - ]
222 - э



Исходник демонстрирует работу клавиш-кодов, в нем вы можете поменять клавишу прыжка. Когда запустите исходник, кликните мышкой по квадрату с надписью: "Задать новую клавишу прыжка".

keyCode.capx
(19.48 КБ) Скачиваний: 422
Construct 2 r122 BETA

Исходник в самой последней бета-версии программы r122 на сегодня, так как только в нее добавили новое выражение StringFromKeyCode. Для тех, кто не хочет переходить на новую бета-версию прилагаю скриншоты событий:

Изображение


Изображение


Пишите, если будут вопросы.
Последний раз редактировалось Developer 18 мар 2013, 03:20, всего редактировалось 1 раз.
Аватара пользователя

Игродел
Сообщений: 494
Я тут с 04 янв 2013, 04:10