弹出框的实现主要矛盾在于如何屏蔽被遮挡图层的点击事件。而为了实现这个,我们可以再弹出框成设置吞噬事件,也就是设置swallowTouches: true,
代码如下,
var BaseLayer = cc.LayerColor.extend({
listener:null,
ctor:function(){
this._super(cc.color(0,0,0,180),640,960);
//使得下层的点击事情无效
this.listener = cc.EventListener.create({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: function (touch, event) {
return true;
},
onTouchEnded: function (touch, event) {
}
});
cc.eventManager.addListener(this.listener, this);
},
destory:function(){
console.log("baselayer.");
cc.eventManager.removeListener(this.listener);
}
});/**
* Created by Administrator on 2014/9/29.
*/
然后具体类再继承此方法,即可实现遮挡下层的事件
var WinGameUI =