Управление камерой с клавиатуры (25 мин)
Следующее условие ИСТИННО в том случае, если в данный момент нажата определенная клавиша и ЛОЖНО, если она не нажата.
IF KEYGET (scancode) THEN
Каждая клавиша на клавиатуре имеет скан-код (scancode). В таблице по адресу Help \ Command Reference \ Scancodes приведены скан-коды для каждой клавиши. Скан-коды часто используемых клавиш приведены в памятке.
Теперь сделаем управление камерой с клавиатуры для программы "fir" - для этого мы должны создать бесконечный цикл (чтобы компьютер вновь и вновь опрашивал клавиатуру) и поместить внутри него команды поворота камеры. При этом мы должны периодически осуществлять визуализацию. Также, добавим условие для выхода из программы при нажатии клавиши ESC. Итак, заменим строки:
RENDERWORLD
FLIP
WAITKEY
на следующие:
Задаем начальные значения углов:
xa = 0
ya = 0
REPEAT
Меняем угол поворота вокруг оси OX:
IF KEYDOWN(200) THEN xa = xa + 1; вверх
IF KEYDOWN(208) THEN xa = xa - 1; вниз
Меняем угол поворота вокруг оси OY:
IF KEYDOWN(203) THEN ya = ya + 1; влево
IF KEYDOWN(205) THEN ya = ya - 1; вправо
Устанавливаем углы поворота камеры:
ROTATEENTITY cam, xa, ya, 0
Выход по нажатию клавиши ESC:
IF KEYDOWN(1) THEN EXIT; ESC - выход
Визуализируем трехмерный мир:
RENDERWORLD
FLIP
FOREVER
Запишем эту программу под именем “fir2”.