Flash Extension: Sync Symbols to Timeline

Justin | Flash, animation, extensions | Saturday, April 25th, 2009

Advanced animation techniques in Flash often make use of nested symbols. It can make animating objects much simpler and leave timelines cleaner and easier to work with. Often in these animations, it’s helpful to sync the nested symbol’s timeline with its parent timeline. That way, complex animation can be built within a symbol and animated independently without adding tons of layers to the main timeline. This technique is frequently used in character animation to segment a character’s moving parts.

The difficulty then becomes going through each keyframe and setting the startFrame property (listed in the Property inspector as First). This can be quite tedious over hundreds or thousands of frames. The request for this extension came from an animator on the Cold Hard Flash forum. It will search selected frames for graphic symbols and set their startFrame property to match the timeline.

Download
(compatibility: Flash MX 2004 and up)
Sync Symbols to Timeline.mxp

Look Ma, I’m on the Internets!

Justin | Misc, links, nerdy | Monday, April 6th, 2009

The bona fide internets, even. I’m in the Adobe Developer Spotlight this month.

Help in the Downturn

Justin | Misc, links | Friday, April 3rd, 2009

Even though the economy is completely haywire, parts of the community have proved to be very reliable. Aaron Simpson at ColdHardFlash is offering help for animators seeking work, and Adobe is offering a free copy of FlexBuilder to members of the community who are unemployed.

Kudos to both of them. Hopefully more organizations will follow suit.

E4X ‘Gotcha’ With XML in Actionscript 3

Justin | ActionScript, tips | Wednesday, April 1st, 2009

Oftentimes, I like to trace pieces of data as I’m programming just to make sure everything is on track. When you’re trying to trace data using E4X (XML in Actionscript 3), don’t forget the toXMLString() function. In many cases, you won’t see anything if you forget to call this function. Your code will see the data just fine, but you might not think it’s working and spend time trying to diagnose a non-existent problem.

trace(xml.children()[0]) //empty trace
trace(xml.children()[0].toXMLString()) //now we see it!

Powered by WordPress