as the title says.
var CustomLayer = ccs.UILayer.extend({
});
You can try:
var CustomLayer = cc.Layer.extend({
uiLayer:null,
init:function(){
uiLayer = ccs.UILayer.create();
}
});
This will work, but there will be a issue when two buttons overlap with each other(put a button inside the uiLayer of the CustomLayer), the outer button can’t be clicked and the button inside the CustomLayer(behind) will be clicked instead.
var RootLayer = cc.Layer.extend({
init: function () {
var layer = CustomLayer.create();
this.addChild(layer);
var uiLayer = ccs.UILayer.create();
var btn = ccs.UIButton.create();
btn.loadTextures(s_btn, s_btn, '');
btn.setPosition(cc.p(winSize.width / 2, winSize.height / 2));
btn.setTouchEnable(true);
btn.setPressedActionEnabled(true);
btn.addTouchEventListener(function (sender, type) {
if (type == ccs.TouchEventType.ended) {
// do something
}
}, uiLayer);
uiLayer.addWidget(btn);
this.addChild(uiLayer);
}
});
You can set priority of button for different case needed.