我自己继承了一个container,然后注册这个container的touch_tap事件,但是点了没反应,只有点在里面的一个bitmaph才会有反应,
但这不是我想要的结果。
这是代码
[mw_shl_code=actionscript3,true]class MyContainer extends egret.DisplayObjectContainer{
private loadingView oadingUI;
private hammer:egret.Bitmap;
public constructor(){
super();
this.addEventListener(egret.Event.ADDED_TO_STAGE,this.onAddToStage,this);
}
private onAddToStage(event:egret.Event):void{
//设置加载进度界面
this.loadingView = new LoadingUI();
this.stage.addChild(this.loadingView);
//初始化Resource资源加载库
RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE,this.onConfigComplete,this);
RES.loadConfig("resource/resource.json","resource/");
}
/**
* 配置文件加载完成,开始预加载preload资源组。
*/
private onConfigComplete(event:RES.ResourceEvent):void{
RES.removeEventListener(RES.ResourceEvent.CONFIG_COMPLETE,this.onConfigComplete,this);
RES.addEventListener(RES.ResourceEvent.GROUP_COMPLETE,this.onResourceLoadComplete,this);
RES.addEventListener(RES.ResourceEvent.GROUP_PROGRESS,this.onResourceProgress,this);
RES.loadGroup("preload");
}
/**
* preload资源组加载完成
*/
private onResourceLoadComplete(event:RES.ResourceEvent):void {
if(event.groupName=="preload"){
this.stage.removeChild(this.loadingView);
RES.removeEventListener(RES.ResourceEvent.GROUP_COMPLETE,this.onResourceLoadComplete,this);
RES.removeEventListener(RES.ResourceEvent.GROUP_PROGRESS,this.onResourceProgress,this);
this.createGameScene();
}
}
/**
* preload资源组加载进度
*/
private onResourceProgress(event:RES.ResourceEvent):void {
if(event.groupName=="preload"){
this.loadingView.setProgress(event.itemsLoaded,event.itemsTotal);
}
}
private createGameScene():void{
this.hammer = this.createBitmapByName("hammer");
var stageW:number = this.stage.stageWidth;
var stageH:number = this.stage.stageHeight;
this.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTouchTap, this);
this.touchEnabled = true;
this.hammer.x = stageW / 2;
this.hammer.y = stageH / 2;
this.hammer.rotation = -45;
this.hammer.anchorX = 0.5;
this.hammer.anchorY = 0;
this.addChild(this.hammer);
var tw = egret.Tween.get(this.hammer,{loop:true});
tw.to({rotation:45},1000,egret.Ease.sineInOut).to({rotation:-45},1000,egret.Ease.sineInOut);
}
/**
* 根据name关键字创建一个Bitmap对象。name属性请参考resources/resource.json配置文件的内容。
*/
private createBitmapByName(name:string):egret.Bitmap {
var result:egret.Bitmap = new egret.Bitmap();
var texture:egret.Texture = RES.getRes(name);
result.texture = texture;
return result;
}
private onTouchTap(evt:egret.TouchEvent) {
this.hammer.x = evt.stageX;
this.hammer.y = evt.stageY;
console.log(evt.stageX);
}
}[/mw_shl_code]
|