Animation sequencing is all about a sequence of images that make visual illusion and you can, in fact, stream many sequences in an animatic storyboard. Longer animations are made up of many shots and those under the same theme are grouped together as a scene.
Creating big storyboards
I’ve been busy with plenty of sequencing, creating some big Silverlight storyboards. It is quite usual for that sequence to require non-storyboard happenings. As an example, after the start of the animation, I may want to start an audio file.
There are a few different ways that I have approached this but now I’ve at last come across one that I’m happy with. Storyboards can, in fact, have other storyboards. It is also alright to put a duration on a Storyboard. Storyboard duration is the time it takes in seconds of the snapshot- and transition durations found in the storyboard. The duration can however be overridden and it is automatically calculated.
When a storyboard value is overridden, the duration is locked until available options are done. The trick with animation to getting your code to run in the sequence is to insert an empty Storyboard. Then you need to set its duration and handle the storyboard’s completed event. What is the Storyboard stays reasonably blendable?
Blend just ignores the child Storyboards. If things were ideal, you would be able to set the duration on them from within Blend. The rest of the Storyboard Blend is editable. Because Blends seems to inset at the bottom, I put the storyboards at the top. If you put your child Storyboards at the bottom, they will have a tendency to get lost once Blend has its way with XAML.
It also gives a lot of flexibility in how you write your code. Because you’re simply just handling the completed event, you can write whatever code takes your fancy. Some failed attempts, if you are interested, have included Chaining storyboards, which essentially means the breaking up of the storyboard into parts and then starting part2.
Another is creating a parallel DispatcherTimer that starts with the Storyboard. Making use of tweening libraries, sequencing my events or a custom sequencer helper worked well but has no zero tooling support.
True, I may well be missing a more obvious way to approach this, but I couldn’t find enough or good enough information on how to do it. Let me know if you find another approach that works better.