LEventDispatcher Class
LEventDispatcher クラスは、イベントを送出するすべてのクラスの基本クラスです。
Constructor
LEventDispatcher
()
public
Item Index
Methods
Properties
Methods
addEventListener
-
type
-
listener
イベントリスナーオブジェクトを LEventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントリスナーは、特定のタイプのイベント、段階、および優先度に関する表示リスト内のすべてのノードに登録できます。
イベントリスナーが正常に登録された後に、addEventListener() をさらに呼び出して優先度を変更することはできません。リスナーの優先度を変更するには、最初に removeListener() を呼び出す必要があります。その後、同じリスナーを新しい優先度レベルで再度登録できます。
イベントリスナーが不要になった場合は、removeEventListener() を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。
Parameters:
-
type
Stringイベントのタイプです。
-
listener
Functionイベントを処理するリスナー関数です。
callParent
-
functionName
-
arguments
親クラスの関数を呼び出す。
Parameters:
-
functionName
String函数名
-
arguments
Array固定値arguments
Example:
function funA(){
LExtends(this,LObject,[]);
}
funA.prototype.myName = function(){
return "AAA";
}
function funB(){
LExtends(this,funA,[]);
}
funB.prototype.myName = function(){
return "BBB";
}
function funC(){
LExtends(this,funA,[]);
}
funC.prototype.myName = function(){
return this.callParent("myName",arguments);
}
LInit(1000/50,"legend",800,150,main);
function main(){
LGlobal.setDebug(true);
var objB = new funB();
trace(objB.myName());//BBB
var objC = new funC();
trace(objC.myName());//AAA
}
dispatchEvent
-
event
イベントをイベントフローに送出します。イベントターゲットは LEventDispatcher オブジェクトです。これに対して dispatchEvent() メソッドが呼び出されます。
Parameters:
-
event
LEvent | Stringイベントフローに送出されるイベントオブジェクトです。イベントが再度送出されると、イベントのクローンが自動的に作成されます。イベントが送出された後にそのイベントの target プロパティは変更できないため、再送出処理のためにはイベントの新しいコピーを作成する必要があります。
Returns:
値が true の場合、イベントは正常に送出されました。 function MyEventObject(){ var self = this; LExtends(self,LSprite,[]); self.graphics.drawRect(1,"#000000",[0,0,100,100],true,"#000000"); self.graphics.drawRect(1,"#FF0000",[100,0,100,100],true,"#FF0000"); self.addEventListener(LMouseEvent.MOUSE_UP,self.onclick); self.addEventListener(MyEventObject.CLICK_LEFT,function(event){ trace("dispatchEvent"); }); self.addEventListener(MyEventObject.CLICK_RIGHT,function(event){ trace("dispatchEvent event.name = " + event.name); }); } MyEventObject.CLICK_LEFT = "click_left"; MyEventObject.CLICK_RIGHT = "click_right"; MyEventObject.prototype.onclick = function(event){ var self = event.clickTarget; if(event.selfX < 100){ self.dispatchEvent(MyEventObject.CLICK_LEFT); }else{ var event = new LEvent(MyEventObject.CLICK_RIGHT); event.name = "LEvent Test"; self.dispatchEvent(event); } }
hasEventListener
-
type
LEventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。これにより、LEventDispatcher オブジェクトがイベントタイプの処理をイベントフロー階層のどこで変更したかを判断できます。
Parameters:
-
type
Stringイベントのタイプです。
Returns:
指定したタイプのリスナーが登録されている場合は true、それ以外の場合は false です。
removeAllEventListener
()
public
LEventDispatcher オブジェクトから全部のリスナーを削除します。
removeEventListener
-
type
-
listener
LEventDispatcher オブジェクトからリスナーを削除します。対応するリスナーが LEventDispatcher オブジェクトに登録されていない場合は、このメソッドを呼び出しても効果はありません。
Parameters:
-
type
Stringイベントのタイプです。
-
listener
Function削除するリスナーオブジェクトです。
Properties
objectIndex
Int
public
オブジェクトのID