Awesome!!

Thank you Thank you Thank you.

I need to read more about the Delegate class to understand what's going on here- I have some idea, but not a clear grasp.

Thank you so much for steering me in the right direction!


-------------------------------------------------------
[EMAIL PROTECTED]
917-750-6398
AIM: dcardena
-------------------------------------------------------




On Apr 12, 2006, at 9:46 PM, <[EMAIL PROTECTED]> wrote:

Try this :

 import mx.utils.Delegate;
 class Ball {
    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',
 _level0.getNextHighestDepth()  );

        // draw ball
        aBall._x = 100;
        aBall._y = 100;
        aBall.lineStyle(20, 0xff0000, 100);
        aBall.lineTo(0,.2);
        declareEventMethods(aBall);//BWC - CHanged this to pass the item
    }

// pass the mc in
    public function declareEventMethods(p_mc:MovieClip):Void {
p_mc.onPress =
 Delegate.create(this,onPress);  }4

   private function  onPress () {  dispatchEvent( {type: "press",
 target: this} );  }

 }


- you were trying to detect an OnPRESS eventon the ball class yet it
doesn;t extend Movieclip



Hi Johannes -

Thank you so much for your suggestions - I really do appreciate the
help.

I've removed MovieClip extension from the class, but it's still not
working - it's still the same as where I started - the "Ball" object
renders, but  events don't trigger the handler.

I've streamlined things slightly - eliminated whitespace mostly, Please
- I'm so lost here, this seems so simple.

This is where the code is at:

-----------------------------------------------------------------
timeline.as
-----------------------------------------------------------------

import Ball.as;

/* create object */
var myBall:Ball = new Ball();
myBall.declareEventMethods();

/* add listener */
myBall.addEventListener("press", myEventHandler);

/* define handler */
function myEventHandler(evt:Object):Void {  trace('evt.type: ' +
evt.type + ' | evt.target' + evt.target);  }

-----------------------------------------------------------------
Ball.as
-----------------------------------------------------------------

import mx.utils.Delegate;
class Ball {

   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',
_level0.getNextHighestDepth()  );

        // draw ball
        aBall._x = 100;
        aBall._y = 100;
        aBall.lineStyle(20, 0xff0000, 100);
        aBall.lineTo(0,.2);
        declareEventMethods();
   }

   public function declareEventMethods():Void {  onPress =
Delegate.create(this,onPress);  }4

   private function  onPress () {  dispatchEvent( {type: "press",
target: this} );  }

}




-------------------------------------------------------
[EMAIL PROTECTED]
917-750-6398
AIM: dcardena
-------------------------------------------------------




On Apr 12, 2006, at 8:55 PM, Johannes Nel wrote:

ok sorry, you are extending movieclip. i thought for soem reason you
were
not. there is no reason for you to be extending movieclip, so don't

once you have gotten rid of the inheritance then it should work. the
reason
the onPress function works is due to the fact that you are extending
movieclip, and then you assign a different refrence for that function.

anyway i hope you understand what i am tryimg to say
_______________________________________________
[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


_______________________________________________
[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

Reply via email to