Hok's Macromedia Flash Blog

macromedia flash actionscript scripting, php, remoting, webservices, c#, javascript

Ads

Search

MovieClip-Broadcaster

Sometimes you need a typecally movieclip-event-source,
here is a MovieClip-Extension wich adds broadcasters for
for the EnterFrame-, MouseMove-, MouseUp- and MouseDown-Event.

initMovieClipBroadcasters = function () { _level0.createEmptyMovieClip('mcEventSource', 1000000); var arrBroadcaster = ['EnterFrame','MouseMove','MouseUp','MouseDown']; for (var i = 0; i < arrBroadcaster.length; i++) {  var strBcName = 'bc' + arrBroadcaster[i];  var strEventName = 'on' + arrBroadcaster[i];  var objBroadcaster = MovieClip[strBcName] = new Object();  ASBroadcaster.initialize(objBroadcaster);  objBroadcaster.strEventName = strEventName;  objBroadcaster.$oldAddListener = objBroadcaster.addListener;  objBroadcaster.$oldRemoveListener = objBroadcaster.removeListener;  objBroadcaster.addListener = function (pObjListener) {   this.$oldAddListener(pObjListener);   var objBroadcaster = this;   var strEventName = this.strEventName;   _level0.mcEventSource[strEventName] = function () {    objBroadcaster.broadcastMessage(strEventName);   }  }  objBroadcaster.removeListener = function (pObjListener) {   this.$oldRemoveListener(pObjListener);   if (this._listeners.length == 0) {    _level0.mcEventSource[this.strEventName] = null;   }  } }}initMovieClipBroadcasters();delete initMovieClipBroadcasters;// Example:obj = new Object();MovieClip.bcEnterFrame.addListener(obj);MovieClip.bcMouseUp.addListener(obj);//MovieClip.bcEnterFrame.removeListener(obj);obj.onEnterFrame = function () { trace('onEnterFrame'); }obj.onMouseUp = function () { trace('onMouseUp'); }

Posted by hOk at April 18, 2003 01:49 PM

Comments (3)

Hi,

Since Mouse and Key Objects broadcasts natively onMouseMove... OnKeyUp...
Why do you need such a method ?

It should only be an interest for onEnterFrame broadcasting since MovieClip isn't set to send that message for listeners... Not a big btw.

geat works you show on your blog anyway.
best regards.

Posted by erixtekila at May 3, 2003 11:45 AM

Oh thanks, youre totally right,
i had forgotten that, i get old..;-)
regards, Holger

Posted by at May 3, 2003 01:59 PM

But if you only want to lissen the
mouseMove-Event it is better to use
the code above.
kind of regards, Holger

Posted by hOk at May 3, 2003 02:21 PM


Name:


Email Address:


URL:


Comments:



You can use <code>code that should be highlightned</code> to highlight code!
Optionally you can use the attribut language="php|perl|java" within the code tag, otherwise
actionscript-highlightning will be used.

New Place