SetAnimKey entity,frame[,pos_key][,rot_key][,scale_key]

Параметры

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

Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в интернете