Лекция: Урок 15: Разное: Программирование клавиш

В 2.1 появились дополнительные возможности по работе с кнопками, первая — это keys.isDown(keyCode), которая заменяет старый способ с лазерами.

Использовать просто – если клавиша «up» нажата, то keys.isDown(«up») вернет true. Использовать можно в любом скрипте.

 

Вторая — это новое событие «onKey» которое работает по-другому. Это процедура с объектом в качестве аргумента: onKey = (e) => {скрипт}. Она вызывается каждый раз, когда нажимается или отпускается кнопка (а также при зажатой кнопке повторяется ее вызов, как в текстовом редакторе).

 

В объекте «e» передается несколько параметров:

e.pressed (true/false) — true если клавиша нажата, false если отпущена

e.keycode (string) – название кнопки, например: «backspace»

e.keychar (string) – символ нажатой кнопки (только для алфавитно-цифровых)

e.handled – можно установить в «true» чтобы выключить эту клавишу в интерфейсе

e.this – это сам объект в свойствах которого написан обработчик onKey

 

Некоторые клавиши, например «a» или «s» обрабатываются сначала интерфейсом и чтобы сцена нормально работала нужно переключиться в режим проигрывателя. Рекомендуется установить App.GUI.playMode = {sim.running} в любом onSpawn скрипте любого объекта.

 

Аналогично можно работать и с мышкой – коды кнопок «mouse_left», «mouse_right»

update = (e)=>{e.this.color = keys.isDown(«mouse_left»)? [1, 1, 1, 1]: [1, 1, 1, 0]}

 

 

еще рефераты
Еще работы по информатике