События нажатия кнопок

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

 

Здесь я буду как и в уроках которые делал ранее производить действия от простого к сложному. В начале нажатия на кнопки будут просто выводить в консоль какое-либо сообщение. То есть определенная кнопка будет выводить определенное сообщение в консоли Unity 3d, а мы эти события будем видеть. Запускаем Unity 3d и открываем скрипт с нашим персонажем, напомню что скрипт который создает нашего персонажа это скрипт Spawn, о нем я говорил ранее. Данный скрипт занимается тем что создает нашего персонажа и уничтожает его как он свалится ниже определенного уровня. Открываем скрипт и пишем:

Пример скрипта нажатия кнопок
Dante

 

Сохраняем скрипт Spawn и запускаем Unity 3d, для начала смотрим в консоли что происходит при нажатии назначенных кнопок. Я же в свою очередь кратко напишу что мы написали и что происходит при нажатии кнопок.

 

Итак, в написанном коде что такое ifвы должны знать из статьи Оператор условия if, Input это слушатель события. Ну к примеру:

 

Input.GetMouseButton(0)

 

Получает сообщение о нажатии кнопки, в данном случае о нажатии кнопки мыши. То есть Input обозначает ввод, а то что после точки это отдельная функция, после ввода вы увидите что их там очень много, этих функций. В нашем случае GetMouseButton значит что мы возвращаем нажатие кнопки мыши, причем не одноразовое нажатие, вроде нажали, а затем необходимо еще раз нажать для второго нажатия, а с обновлением этого нажатия каждый кадр. То есть каждый кадр мы получаем нажатие мышки пока её не отпустим.

 

Значений которые в скобках, есть три вида 0, 1, 2. Ноль это левая кнопка, один правая и два нажатие на колесико, то бишь средняя. Именно нажатие а не прокручивание.

 

Так же существуют функции:

 

GetMouseButtonDown

GetMouseButtonUp

 

У меня в скрипте есть только GetMouseButtonDown но в движке обе эти функции, если он у вас открыт можете посмотреть сами. Они означают только события только в момент нажатия кнопки и того когда кнопка отпускается. В частности GetMouseButtonDown обозначает что произойдет событие только когда вы нажмете на кнопку, и пока вы её не отпустите вы второй раз её не нажмете. GetMouseButtonUp же сработает, например вы нажали кнопку, события еще на происходит, а когда вы её отпустите то в консоль выведется наше сообщение. С кнопками клавиатуры точно так же. Что можно видеть в коде ниже.

 

GetKey

 

Обозначает нажатие клавиши клавиатуры, а в скобках указывается какое именно событие выведется. KeyCode это получить код клавиши. Попробуйте в общем сами. GetKeyDown и GetKeyUp работают так же как я только что описывал одиночное нажатие кнопки мыши выше.

 

В общем кто желает может поназначать различные кнопки. Посмотреть выводы этих кнопок в консоли Unity 3d и увидеть срабатывания кнопок. Надеюсь это было достаточно понятно, хочется верить что кто-то это читает и ему тоже понятно. Хотя не проверяя самому понять не получится, а может получится но как по мне проще раз самому сделать.

 

На сегодня наверно все, всем спасибо и читателям до новых статей.

События нажатия кнопок: 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *