|
entity - указатель объекта
frame - кадр анимации, который будет ключом анимации pos_key (не обязательно) - true ( по умолчанию) - включить информацию о позиции объекта в ключ. rot_key (не обязательно) - true ( по умолчанию) - включить информацию о повороте объекта в ключ. scale_key (не обязательно) - true ( по умолчанию) - включить информацию о масштабе объекта в ключ. |
|
Устанавливает ключ анимации для объекта в указанном кадре. Объект должен иметь существующую последовательность анимации перед использованием этой команды.
Это очень полезно, например, когда Вы имеете набор сложных перемещений объекта и хотите выполнить их одновременно. |
|
;Пример создания анимации
;Создаем простую сцену 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) ; номер кадра ;Play it back ping-pong! Animate ball,2,0.15 While Not KeyHit(1) UpdateWorld RenderWorld Flip Wend End |