Flash Extensions: Frame Navigation

It can be frustrating moving around in Flash.  Whenever you move to a new keyframe you almost always lose the selection you had previously.  I’ve made some commands to help avoid this problem.

These are designed to be drop-in replacements for the built-in Flash operations normally bound to the “>” and “<” keys.  In normal operation, those keys move the current frame marker forward or backward one frame.  They’re useful when you want to slowly go through your animation, or when you don’t want to have to go to the mouse to move to the next or previous frame.

The difference with my versions, though, is that now your selection will remain selected in the new frame.  That is, whatever symbols you had selected in the previous frame will also be selected in the new frame.  It’s fantastic for when you want to go through an animation one frame at a time and adjust the same element(s) on each frame.

There are six commands in this package:

  1. Same object frame dec and Same object frame inc
    These commands move back or forward one frame, keeping the same selection.  If you had a symbol selected in the old frame and it exists in the new one, it’ll be selected there too. I have these bound to the hotkeys mentioned above – “<” and “>” respectively.
  2. Same object keyframe dec and Same object keyframe inc
    These operate exactly the same way, except that they move to the next keyframe on the currently active layer. This is great for moving between keyframes without having to laboriously traverse the intervening non-key frames. I have these bound to the same keys as above, but while holding down
  3. Same object go to first frame and Same object go to last frame
    These commands will move the current frame to be either at the beginning or the end of the timeline.

A couple notes about these tools:

  1. They work best in Flash CS4 or earlier.  In CS5 Adobe changed something about how Flash updates the display after running a JSFL command. Now you can’t see what the screen looks like as-you-go – you have to stop and wait for it to update.  This means you can’t, for instance, just hold down the “>” key and see the animation go by slowly.  The reduced functionality of these tools is actually one of the main reasons I haven’t upgraded to CS5.
  2. If a symbol doesn’t exist on the frame you move to, obviously it can’t be selected.
  3. If you have more than one instance of the same symbol on the same layer then the tool can only track one of them.  There are some details behind this that I don’t really have the energy to go into here, but on the new frame probably only one of your two symbol instances will be selected.  For this reason I often end up duplicating symbols so that I can have more than one of them on the same layer and still have the frame navigation tools work properly (as well as autotween, which runs into a similar problem).

Here’s a video demonstrating my navigation tools:

And here’s a download link for the installation file:

Frame Navigation Commands

4 thoughts on “Flash Extensions: Frame Navigation

  1. James Lee says:

    Wow, this is a tool that I didn’t even know I needed until I saw this post! This could really streamline my workflow. Thanks so much for making these tools available!

  2. Juan says:

    Just installed this extension, but I noticed that “Same object frame inc” is not showing up as a command, although all the other ones are. I was wondering whether it had been a mistake on my part, or whether the extension is actually missing that command —

    • David says:

      I may have made a mistake in setting up the extension distributable file. I’m going to be out of town for a few days but I’ll check it out and let you know when I get back.

      By the way, thanks for all the supportive YouTube comments! It’s so nice to get comments on my videos 🙂

    • I’m really sorry about the five year delay but I finally fixed this problem. Download the tool again and it should include all the tools now.

Leave a Reply

Your email address will not be published. Required fields are marked *