quick-cocos2d-x 3.x的触摸机制比cocos2d-x的好许多,编写模态框非常的容易了
1 创建了个colorLayer
2 colorLayer设置为吞噬触摸类型
2 把这个colorLayer添加到要弹出的对象上
仅仅3步就OK了.下面给出这个例子
-- 创建一个模态弹出框,parent 要加在哪个上面 function popDialogBox(parent) local pop_window = display.newColorLayer(cc.c4b(0,100)) -- 半透明的黑色 pop_window:setContentSize(display.width,display.height) -- 设置Layer的大小,全屏出现 pop_window:align(display.CENTER,0) -- Layer的锚点在0.5,0.5 因此对齐的时候要注意 pop_window:setTouchEnabled(true) pop_window:setTouchSwallowEnabled(true) -- 吞噬下层的响应 pop_window:addNodeEventListener(cc.NODE_TOUCH_EVENT,function(event) -- 点击此Layer时候输出信息,然后把自己销毁 local label = string.format("-- %s x,y: %0.2f,%0.2f",event.name,event.x,event.y) print(label) parent:removeChild(pop_window) pop_window:removeSelf() return true end) parent:addChild(pop_window,9999) -- 把Layer添加到父对象上 end
使用方法非常的简单
在任何Scene或Layer中 添加
popDialogBox(self)
就可以了