Wait for the end of a Shockwave 3D Animation
The following outlines how to script a wait for the end of a shockwave 3D animation. You can download the demo file - waitForEndOf3Danim.zip.
The code used in a frame behavior in frame 5 is:
property model1, model2
on beginSprite me
model1 = member("models").model("Box01")
model2 = member("models").model("Cylinder01")
on exitFrame me
if model1.keyframePlayer.currentTime = 0 AND model2.keyframePlayer.currentTime = 0 then
go the frame
Keyframe animation is applied to model1 (the box) and model2 (the cylinder). When the animation first starts playing, the 'currentTime' property is 0. When the animation is finished, 'currentTime' property goes back to 0. I have the behavior in frame 5. So, when we first arrive at frame 5, there have been 4 frames of animation playing, and the 'currentTime' property is not at 0 (the start). The behavior tells Director to loop in the frame until 'currentTime' property for both models goes back to 0, which we take to mean that the animation has finished playing.