来源http://blog.csdn.net/nynyvkhhiiii/article/details/50820810
直接上代码
varMsgBoxLayer = cc.LayerColor.extend({
sprite:null,
ctor :function(color, width, height){this._super(color, width, height);this._touchListener = cc.EventListener.create({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches:true,
onTouchBegan:function(){returntrue;
}
});
cc.eventManager.addListener(this._touchListener,this);// 添加你的UI布局returntrue;
},
onExit :function(){if(this._touchListener) {
cc.eventManager.removeListener(this._touchListener,1);this._touchListener =null;
}
}
});
使用方法:
varmsgBox=newMsgBox(cc.color(0,0,0,0),800,600);this.addChild(msgBox);
这里有几个知识点:
1 cc.EventListener.create 官方自带的观察者模式,使用起来非常方便
2 event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
这两个参数保证了层层传递,并且以本导员就吞噬掉touch事件,不再往下传递,以达到屏蔽下层的目的。
3 在退出前别忘了做清理工作
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐