and as to why. it was a scope issue, you weren't dispatching the event out of your class, but out of the movieclip.
On 4/12/06, Daniel Cardenas <[EMAIL PROTECTED]> wrote: > > Hi Mike, > > Thanks for your reply. > > The class I created was based on a tutorial I found online > (communitymx.com) a subscription-based site that I started a trial > subscription to, but wasn't getting any response to my questions, so > didn't see the point in paying money for. > > Maybe extending MovieClip isn't ideal for this test - I don't know. I'm > just trying to wrap my head around event handling using the > EventDispatcher class. > > > ------------------------------------------------------- > [EMAIL PROTECTED] > 917-750-6398 > AIM: dcardena > ------------------------------------------------------- > > > > > On Apr 12, 2006, at 8:22 PM, Mike Anderson wrote: > > > If you are extending a MovieClip - doesn't the MovieClip already have > > all those things "you are trying to recreate" at your disposal? > > > > That is the whole point of extending a MovieClip - so you DON'T have to > > go through all the stuff you are going through right now. > > > > I am no guru at this stuff, but I write Class Files on a daily basis, > > and I NEVER have to deal with stuff like this. I create custom > > listeners, and dispatch events on a regular basis - and it works just > > beautifully. > > > > It just seems like you are reinventing the wheel, and defeating the > > whole purpose of why things were created this way in the first place. > > > > This is just my initial reaction to what I've seen, and I am sure some > > more experienced people will chime in on this thread. > > > > Mike > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Daniel > > Cardenas > > Sent: Wednesday, April 12, 2006 7:10 PM > > To: [email protected] > > Subject: [Flashcoders] Need help understanding EventDispatcher > > > > > > Hi, > > > > I'm trying to learn event handling using the EventDispatcher class and > > am having a hard time getting a test to work. I'm also fairly new to > > OOP, so I'm having a hard time finding the problem in my code. > > > > I've created a simple "Ball" class that creates an empty MC and then > > draws a circle in it. I've defined some event methods in the class and > > contained them within a "declareEventMethods" method. I don't know if > > that's the right way to do it or not - I modeled this test on various > > tutorials I've found online, but it's not working. > > > > What I'm trying to do is create a new instance of the "Ball" class > > called "myBall", then notify an event handler of events dispatched by > > myBall. The handler should then execute a trace command. > > > > The "Ball" class assigns the name "testBall" to the MC it creates, and > > I > > can trigger the event handler if I define a method directly on the MC > > that's created, ie: > > testBall.onPress = function () {myEventHandler(testBall);} > > > > but that's not what I'm trying to accomplish. > > > > I've pasted the code below - any help would be greatly appreciated. > > > > Thanks, > > > > Daniel Cardenas > > > > > > ------------------------------------------------------ > > Ball Class > > ------------------------------------------------------ > > > > class Ball extends MovieClip { > > > > public var addEventListener:Function; > > public var removeEventListener:Function; > > private var dispatchEvent:Function; > > > > public function Ball () { > > // initialize EventDispatcher > > mx.events.EventDispatcher.initialize(this); > > > > // create a ball MC > > var aBall:MovieClip = _level0.createEmptyMovieClip('testBall', > > getNextHighestDepth()); > > > > // draw ball > > aBall._x = 100; > > aBall._y = 100; > > aBall.lineStyle(20, 0xff0000, 100); > > aBall.lineTo(0,.2); > > } > > > > public function declareEventMethods():Void { > > onMouseDown = function() { > > dispatchEvent( {type: "mouseDown", target: this} ); > > } > > onMouseUp = function() { > > dispatchEvent( {type: "mouseUp", target: this} ); > > } > > onPress = function() { > > dispatchEvent( {type: "press", target: this} ); > > } > > onRelease = function() { > > dispatchEvent( {type: "release", target: this} ); > > } > > } > > > > } > > > > ------------------------------------------------------ > > Timeline Code > > ------------------------------------------------------ > > > > /* create object > > ----------------------------------*/ > > var myBall:Ball = new Ball(); > > myBall.declareEventMethods(); > > > > /* add listener > > ----------------------------------*/ > > myBall.addEventListener("mouseDown", myEventHandler); > > myBall.addEventListener("mouseUp", myEventHandler); > > myBall.addEventListener("press", myEventHandler); > > myBall.addEventListener("release", myEventHandler); > > > > > > /* define handler > > ----------------------------------*/ > > function myEventHandler(evt:Object):Void { > > trace('A ' + evt.type + ' event was dispatched by ' + evt.target); } > > > > // this works - but it's not what I'm trying to do... > > // testBall.onPress = function () {myEventHandler(testBall);} > > > > > > > > > > ------------------------------------------------------- > > [EMAIL PROTECTED] > > 917-750-6398 > > AIM: dcardena > > ------------------------------------------------------- > > > > > > > > _______________________________________________ > > [email protected] > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training http://www.figleaf.com > > http://training.figleaf.com > > _______________________________________________ > > [email protected] > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > > _______________________________________________ > [email protected] > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > -- j:pn http://www.lennel.org _______________________________________________ [email protected] To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com

