Добавление анимации в программу (15 мин)
Изменим введенный кусок программы:
Загружаем анимационную последовательность номер 0 - модель робота, смотрящая по сторонам:
robot = LOADANIMMESH("C:\media\standing.3ds")
Добавляем анимационную последовательность номер 1 - бегущая модель робота:
LOADANIMSEQ robot, "C:\media\running.3ds"
SCALEENTITY robot, 0.4, 0.4, 0.4
rx# = 10
rz# = 0
ang = 90
REPEAT
POSITIONENTITY robot, rx#, -8, rz#
ROTATEENTITY robot, 0, ang + 90, 0
POINTENTITY cam, robot
IF KEYDOWN(200)
Если нажата клавиша "вверх" и робот стоит на месте, то задаем анимационную последовательность 1 (бег), тип анимации - зацикленная (1), скорость - 0.5, количество промежуточных фаз - 10
IF ANIMSEQ(robot) = 0 THEN ANIMATE robot, 1, 0.5, 1, 10
rx# = rx# + COS(ang) * 0.5
rz# = rz# + SIN(ang) * 0.5
ELSE
Если клавиша "вверх" не нажата и робот бежит, то задаем анимационную последовательность 0 (стоять на месте), тип анимации - пинг-понг (2), скорость - 1, количество промежуточных фаз - 10
IF ANIMSEQ(robot)=1 THEN ANIMATE robot, 2, 1, 0, 10
END IF
IF KEYDOWN(203) THEN ang = ang + 5
IF KEYDOWN (205) THEN ang = ang - 5
IF KEYDOWN(1) THEN EXIT
Обновляем анимированную модель:
UPDATEWORLD
RENDERWORLD
FLIP
FOREVER