|
entity - указатель объекта
length - длина анимации в кадрах |
|
Создает последовательность анимации для объекта. Это должно быть сделано прежде, чем любые ключи анимации, установленные SetAnimKey, будут использоваться в фактической анимации. Вы можете использовать эту команду, чтобы добавлять отрезки анимации, которую Вы сделали ,предварительно использовав команду SetAnimKey. Возвращает порядковый номер добавленной анимации. |
|
;Пример создания 3D анимации
;Создадим простую сцену Graphics3D 640,480 camera=CreateCamera() PositionEntity camera,0,12,-12 RotateEntity camera,35,0,0 light=CreateLight(2) PositionEntity light,1000,1000,-1000 ground=CreatePlane(2) EntityAlpha ground,0.5 EntityColor ground,0,0,255 mirror=CreateMirror() ;Создание падающего мяча, который расплющивается при ударе об пол ball=CreateSphere(16) EntityShininess ball,1 EntityColor ball,255,0,0 ;Анимируем и сохраняем анимацию для последующего воспроизведения bloat#=0 : flatten#=0 : ypos#=10 For frame=1 To 10 ;Роняем мяч с высоты 10 до 2 ypos = ypos - spd# spd#=spd#+.2 PositionEntity ball,0,ypos,0 ScaleEntity ball,1+bloat,1+flatten,1+bloat ;Если мяч достаточно низко, сжимаем его If frame>8 bloat=bloat+1.5 flatten=flatten-.25 Else flatten=flatten+.05 EndIf ;Сохраняем анимацию SetAnimKey ball,frame Next ;Теперь мы должны добавить полученный отрезок анимации к основной последовательности анимации мяча! seq = AddAnimSeq(ball,frame-1) ;Смотрим! Animate ball,2,0.15 While Not KeyHit(1) UpdateWorld RenderWorld Flip Wend End |