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