Делаем новые миссии. CLEO - скрипты, cutscene, статьи, программы. Игровые новости.
 
27.9.07 19:46 |

Контроль клавиатуры

Раздел: Основы скриптинга | Автор: yelmi | Рейтинг: 8.50 (6) | Хитов 6419
Для того, чтобы проверить нажата ли нужная клавиша используется опкод:

Для того, чтобы проверить нажата ли нужная клавиша используется опкод:

Код:
00E1: key_pressed 0 №клавиши


параметры:
0 – этот параметр не изменяется
№клавиши – номера клавиш от 0 до 19 (клавиша 12 не используется).

Пример:

Код:
:test1
wait 0 ms
if
00E1: key_pressed 0 0
004D: jump_if_false @test1

. . . .

<код>

. . . .


В примере производим проверку нажата ли клавиша и если нажата то происходит выполнение следующего за проверкой кода. Если есть необходимость производить проверку на одновременное нажатие двух и более кнопок то код будет такой:

Код:
:test1
wait 0 ms
if and
00E1: key_pressed 0 0
00E1: key_pressed 0 1
00E1: key_pressed 0 2
00E1: key_pressed 0 3
004D: jump_if_false @test1

. . . .

<код>

. . . .


*Замечание. Проверка выполнится только тогда, когда будут одновременно нажаты все клавиши. Поэтому то и нет смысла делать проверку на большое количество клавиш.

Итак с проверками мы разобрались но осталось несколько вопросов.
Как известно клавиша 0 отвечает за перемещение влево/вправо и это означает, что опкод

Код:
00E1: key_pressed 0 0 


сработает при нажатии как на клавишу влево, так и на клавишу вправо. Как же быть в ситуации если есть необходимость знать какая именно клавиша (левая или правая) нажата? Здесь нам поможет опкод:

Код:
0494: get_joystick_data 0 $1213 $1214 $1215 $1216


$1213 – переменная которая отвечает за кнопки влево/вправо (номер клавиши 0)
$1214 – вверх/вниз (вперед / назад) (номер клавиши 1)
$1215 – влево/вправо на цифровой клавиатуре (в автомобиле: влево/вправо - клавиши контроля гидравлики )
$1216 - в автомобиле: вверх/вниз - клавиши контроля гидравлики.

Здесь необходимо небольшое пояснение.
Например при нажатии клавиши:

вправо - $1213 = 128
влево - $1213 = -128

та же ситуация будет и для остальных переменных данного опкода.


  12»

  1 2 3 4 5 6 7 8 9 10  

Родственные ссылки
» Другие статьи раздела Основы скриптинга
» Эта статья от пользователя yelmi

5 cамых читаемых статей из раздела Основы скриптинга:
» Работа со звуками в GTA San Andreas
» Директивы
» Контроль клавиатуры
» External Script – что это такое и как с ним работать?
» Панель, или список товаров. Часть II.

5 последних статей раздела Основы скриптинга:
» Директивы
» Дополнительные команды
» Ключевые слова
» Классы
» Циклы

¤ Перевести статью в страницу для печати
¤ Послать эту cтатью другу

MyArticles 0.6 beta for RUNCMS: by RunCms.ru


Реклама
Муфты электромагнитные
Электромагнитная муфта этм! Низкие цены! В наличии! Доставка! Звоните
tehprom-n.ru

Вверх     Вернуться на главную. Вход в Систему. Статьи. Скачать. Миссии. ФОРУМ Обратная связь.   
   
   
Яндекс.Метрика
   
   
- Генерация страницы: 0.04 секунд -