Does anyone know how to connect, or synchronize, an animation to a Captivate CS5 timeline such that each frame of the animation is tied to a respective frame on the Cp slide? In other words, I want frame 1 of my animation to start on frame 1 of my Cp slide (which it currently doesn't, regardless of where I put it on the Cp timeline), and I would lilke the animation to pause and play according to what the Cp slide is doing.
Here's what I did:
I made a slideshow animation in Flash CS5 that I put in a Cp slide on top of audio. The animation lasts 35.5 seconds, same as the Cp slide.
I put the animation at the beginning of the timeline, told it to play for the 'rest of slide', and checked 'Sychronize with Project' (which does nothing as far as I can tell).
I put a stop (); command at the end of the animation so it doesn't repeat (and that's literally the only code I have in there at this point).
The animation and the Cp project are both at 30 frames per second.
Here's what happens when previewing (F4ing) the project:
When the project gets to that slide, the framework of the slide (audio/click boxes/buttons/etc) runs fine, but when the slide starts, it starts in the middle of the animation. I.e., when the slide starts, frame 1 of the Cp slide plays while frame (say...) 75 of the animation plays.
The animation starts at a different place every time.
Also, when I pause the slide, the animation keeps playing, which makes the problem worse. I would like the animation to pause when the Cp slide is paused.
I know that animations generally act a certain way, but I would like to know if there is a way to change its behavior so that everything works together. Best-case scenario, there is an option somewhere that I'm overlooking, and worst-case, I would imagine that there is some way to write some actionscript into the Flash animation that tells frame 1 to always be attached to Cp's frame 1, and frame 2 to always to attached to Cp's frame 2, etc, with every frame. I'm new with Actionscript, so I don't know how to do that.
Any help would be greatly appreciated.
After looking at your .fla file for the animation and doing some research, I've found the issue. As Rod Ward correctly points out in this post:
Captivate 5 was a total rewrite from the Captivate 4 software architecture and it introduced a subtle but fundamental change in the way that Flash animations were handled in Captivate published content.
Basically the change means that if your animation was built down a level or two inside a symbol rather than on the main timeline at the top level, then you will find that Captivate 5 or 5.5 loads and executes the animation on the first slide of the movie. This means that by the time you get to the actual slide where you WANTED the animation to perform it's magic, it's already run and finished.
In Captivate 4 this did not happen. The animation was not really loaded until later in the movie timeline so as to be ready for the slide where it was required. It didn't matter if the animation was buried inside a symbol or not.
You have two choices:
- Revamp your animation so that it all happens on the main timeline in the Flash FLA file that generates it.
- Get your Flash programmer to add some ActionScript code to the animation so that it does NOT play completely when first loaded at the beginning of the project at runtime.
Looking at your .fla file, I noticed you had a MovieClip/Symbol called "Animations" that contained the time line but the main .fla movie's time line was pretty much empty. Following the logic of option 1, I moved all the layers from the "Animations" time line to the .fla movie root time line and that fixed it. In Captivate, I also checked "Synchronize with Project" for the animation's properties and the animation did in fact pause and play when I paused and played the Cp movie.
So bottom line is to make sure that you're using the main time line for any animation you're developing in Flash Professional.
Hope that helps,