Основы трехмерной графики в среде Blitz3D


Управление объектом с клавиатуры (17.5 мин)


Загрузим модель робота с помощью команды:

robot = LOADMESH("C:\MEDIA\running.3ds")

Изменим размеры модели:

SCALEENTITY robot, 0.4, 0.4, 0.4

Теперь зададим начальные значения переменных - координаты робота:

rx#=10; координата X модели робота

rz#=0; координата Z модели робота

ang=90; угол поворота модели робота

Создадим бесконечный цикл, команды для изменения положения робота и условия, изменяющие координаты при нажатии соответствующих клавиш:

REPEAT

Изменение координат и угла поворота:

 POSITIONENTITY robot, rx#, -8, rz#

 ROTATEENTITY robot, 0, ang + 90, 0



Наводим камеру на робота:

 POINTENTITY cam, robot

Если нажата клавиша "вверх", перемещаем робота на вектор с длиной 0.5 под углом ang:

 IF KEYDOWN(200) THEN

  rx# = rx# + COS(ang) * 0.5

  rz# = rz# + SIN(ang) * 0.5

 END IF

Изменяем угол поворота модели при нажатии клавиш "влево" и "вправо":

 IF KEYDOWN(203) THEN ang = ang + 5

 IF KEYDOWN (205) THEN ang = ang - 5

Выходим, если нажата клавиша ESC:

 IF KEYDOWN (1) THEN EXIT

 RENDERWORLD

 

FLIP

FOREVER



Содержание раздела