How to best manage multi-frame MovieClips with classes?
Posted
by Arms
on Stack Overflow
See other posts from Stack Overflow
or by Arms
Published on 2010-05-09T16:21:58Z
Indexed on
2010/05/09
16:28 UTC
Read the original article
Hit count: 184
After switching to AS3, I've been having a hell of a time figuring out the best way to manage MovieClips that have UI elements spread across multiple frames with a single class. An example that I am working on now is a simple email form. I have a MovieClip with two frames:
- the 1st frame has the form elements (text inputs, submit button)
- the 2nd frame has a "thank you" message and a button to go back to the first frame (to send another email)
In the library I have linked the MovieClip to a custom class (Emailer
). My immediate problem is how do I assign a MouseEvent.CLICK
event to the button on the 2nd frame? I should note at this point that I am trying to avoid putting code on the timeline (except for stop()
calls). This is how I am 'solving' the problem now:
Emailer
registers an event listener for a frame change (addEventListener("frame 2", onFrameChange)
)- On the 2nd frame of the MovieClip I am calling
dispatchEvent(new Event("frame 2"));
(I would prefer to not have this code on the frame, but I don't know what else to do)
My two complaints with this method are that, first I have calls to addEventListener
spread out across different class methods (I would rather have all UI event listeners registered in one method), and second that I have to dispatch those custom "onFrameChange" events. The second complaint grows exponentially for MovieClips that have more than just 2 frames.
My so called solution feels makes me feel dirty and makes my brain hurt. I am looking for any advice on what to do differently. Perhaps there's a design pattern I should be looking at? Should I swallow my pride and write timeline code even though the rest of my application is written in class files (and I abhor the Flash IDE code editor)?
I absolutely LOVE the event system, and have no problem coding applications with it, but I feel like I'm stuck thinking in terms of AS2 when working with mutl-frame movieclips and code. Any and all help would be greatly appreciated.
© Stack Overflow or respective owner