[COCOS-LUA] display.newlayer 和 cc.Layer:create 创建的layer有什么差别

display.newlayer 和 cc.Layer:create 创建的layer有什么差别?

如果你看一下源码的话就会明白还是有区别的:

function display.newLayer()
    local layer

    if cc.bPlugin_ then
        layer = display.newNode()
        layer:setContentSize(display.width, display.height)
        layer:setTouchEnabled(true)
    else
        layer = cc.Layer:create()
    end

    return layer
end

function display.newNode()
    return cc.Node:create()
end

display.newLayerbPlugin_ 下返回的是一个尺寸和屏幕一样大的 Node, 它多数情况下和 Layer 没有什么区别, 但是 Layer 和 Node 的触摸机制有区别, 想做触摸屏蔽层的话还是得用 Layer.

当然以上是我使用 Quick-cocos2d-x 的经验, 不知道你这里是否适用.

1赞

谢谢楼上的解答,明白了