quick-cocos2d-x简单模态框编写

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, 0, 0, 100))       -- 半透明的黑色
    pop_window:setContentSize(display.width, display.height)             -- 设置Layer的大小,全屏出现
    pop_window:align(display.CENTER, 0, 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)

就可以了

还可以添加文字.按钮.等等丰富的功能.

你可能感兴趣的:(quick-cocos2d-x简单模态框编写)