Thanks Alisdair
That seems like a reasonable workaround.

Unfortunately I need it to work with buttons also.

Anyone else have a suggestion..?




-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alisdair
Mills
Sent: 25 November 2005 12:10
To: Flashcoders mailing list
Subject: Re: [Flashcoders] enable all movieclips to broadcast
theironReleaseevent

Hi Aaron,

yeah.. tricky.

best i could come up with was to use the prototype of onMouseUp since  
i guess it is rarely used for MovieClips, and then hitTest. this'll  
only work for MovieClips though as Buttons have no hitTest method.

class ReleaseListener {
        
        private var __clips : Array ;
        
        public function ReleaseListener ( ) {
                
                __clips = [ ] ;
                
                Mouse.addListener ( this ) ;
                var listener = this ;
                MovieClip.prototype.onMouseUp = function ( ) {
                        if ( this.hitTest ( _root._xmouse , _root._ymouse )
) {
                                listener.addClip ( this ) ;
                        }
                }
        }
        
        public function addClip ( o : MovieClip ) {
                if ( o != _root ) __clips.push ( o ) ;
        }
        
        public function onMouseUp ( Void ) : Void {
                for ( var i : Number = 0 ; i < __clips.length ; i ++ ) {
                        trace ( __clips[ i ] + " onRelease" ) ;
                }
                __clips = [ ] ;
        }
        
}

sorry i have no better solution.... anyone?

cheers, Alisdair


On 25 Nov 2005, at 10:32, Aaron Haines wrote:

>
> Hi Alisdair
>
> I want to create a class which would be able to detect which  
> movieclip or
> button has been clicked whenever any movieclip or button is clicked.
>
> I want this class to exist independently of any onRelease functions  
> which
> have been assigned directly to movieclip instances.
>
> i.e. I don't want to have to include a call to my class in the  
> onRelease
> function of every movieclip instance - I just want my class to  
> listen for
> any onRelease events, and then do some action depending on which  
> clip was
> clicked.
>
> The idea is that I could then include this class in movies which have
> already been created without having to go back through and add a  
> call to my
> class into every button and movieclip onRelease function.
>
> If I set the MovieClip.prototype.onRelease as you suggest this would
> presumably then be overwritten by the direct assignment of the  
> onRelease to
> the movieclip instance.
>
> I can make all movieclips broadcasters by using AsBroadcaster on the
> MovieClip.prototype, but this doesn't make them automatically  
> broadcast the
> onRelease event.
>
> I was wondering if there was a way to do this with EventDispatcher or
> something similar..?
>
> Thanks
> a.
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of  
> Alisdair
> Mills
> Sent: 25 November 2005 08:46
> To: Flashcoders mailing list
> Subject: Re: [Flashcoders] enable all movieclips to broadcast  
> theironRelease
> event
>
> could you provide more detail on what you want to achieve?
>
> the following would make a Class object receive all MovieClip
> onRelease events. and would do so for a timeline with slightly
> modified code. not sure this is what you mean though?
>
> public function initOnRelease ( Void ) : Void {
>       var listener = this ;
>       MovieClip.prototype.onRelease = function ( ) { listener.sayHello
> ( ) ; } ;
> }
> public function sayHello ( Void ) : Void {
>       trace ( "HELLO!!!!" ) ; 
> }
>
> cheers, Alisdair
>
>
>
> On 24 Nov 2005, at 19:25, Aaron Haines wrote:
>
>>
>>
>> Is this possible..?
>>
>> Anyone know how to do it..?
>>
>>
>>
>> I want to be able to add a listener with an onRelease function to any
>> movieclip.
>>
>> The onRelease of the listener would be triggered whenever the
>> onRelease of
>> the movieclip is triggered.
>>
>>
>>
>> Any help much appreciated.
>>
>>
>>
>> a.
>>
>>
>>
>> _______________________________________________
>> Flashcoders mailing list
>> [email protected]
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to