各種事件階段觀察
let s: egret.Shape = new egret.Shape();
s.graphics.beginFill(0x00ff00);
s.graphics.drawRect(0, 0, 100, 100);
s.graphics.endFill();
s.touchEnabled = true;
this.addChild(s);
this.touchEnabled = true;
let listener = (event: egret.Event) => {
switch (event.eventPhase) {
case egret.EventPhase.CAPTURING_PHASE:
egret.log("容器捕獲,eventPhase:" + event.eventPhase);
break;
case egret.EventPhase.AT_TARGET:
egret.log("點擊方塊,eventPhase:" + event.eventPhase);
break;
case egret.EventPhase.BUBBLING_PHASE:
egret.log("容器冒泡,eventPhase:" + event.eventPhase);
break;
}
}
s.addEventListener(egret.TouchEvent.TOUCH_TAP, listener, this);
this.addEventListener(egret.TouchEvent.TOUCH_TAP, listener, this); // 預設是冒泡模式
this.addEventListener(egret.TouchEvent.TOUCH_TAP, listener, this, true); // 設成 true 是表示捕獲模式
沒有留言:
張貼留言