cocosjs模态对话框

直接上代码

var MsgBoxLayer = 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 () {
                return true;
            }
        });
        cc.eventManager.addListener(this._touchListener, this);
        // 添加你的UI布局
        return true;
    },
    onExit : function(){
        if(this._touchListener) {
            cc.eventManager.removeListener(this._touchListener, 1);
            this._touchListener = null;
        }
    }
});

使用方法:

var msgBox = new MsgBox(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
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐

你可能感兴趣的:(cocosjs,msgbox)