Re: FN-FORUM: Ultra simple Flash problem
date posted 19th August 2003 20:50
Hi Deborah,
> I'm scratching my head over this ultra simple flash menu. It worked, and
> now it doesn't and I can't for the life of me work out why. If anyone
> has a minute.. I'd very much appreciate it if anyone could work out why.
I've had a look at your .fla file and there are a few issues that are
combining to cause your problem. Firstly, the code for all of the buttons
looks similar to the following...
on (rollOver) {
gotoAndStop(2);
redMovie.gotoAndPlay(2);
}
In the event of the mouse being rolled over this button, the movie is sent
to frame 2, where there is a keyframe that contains the redMovie movie clip.
The problem is that the gotoAndStop action doesn't actually get actioned
until the end of the frame current frame, meaning that the second line is
executed before the play head is advanced, and thus redMovie doesn't exist
at that point for Flash to manipulate.
You may ask why, then, do the other menus work? Well, if you look at where
the redMovie and yellowMovie clips differ from the others, you'll see that
the former have a stop() action on frame 1 whereas the latter do not. So, in
the case of the other buttons, the playhead advanced to the appropriate
frame, the movie clips come into existance and just play because there's
nothing to stop them. However, because the redMovie and yellowMovie clips
have a stop() action on the first frame, they sit there doing nothing!
The solution is either...
a) give each submenu movie clip a stop() action on the first frame, and
expand the keyframes of the submenu clips to cover the entire timeline of
the menu (so that they exist when you want to manipulate them from the
button code);
or b) remove the stop() actions from frame 1 of both redMovie and
yellowMovie to that the submenu clips play as soon as they come into
existance. You may as well also remove the second line of code from each of
the buttons if you take this route, as they'll be redundant.
I hope this helps! If you need a fixed .fla for either of the above methods,
let me know!
Regards,
Steve W