cocos2d 3.10 lua 自定义场景切换方法

来源:互联网 发布:知乎 chorm无法登陆 编辑:程序博客网 时间:2024/05/02 04:36


1、标准模式

场景定义方法

local LogonScene = class("LogonScene", function() 

return cc.Scene:create() 
end)

function LogonScene:create()


           local scene = LogonScene:new()


           scene:addChild(scene:createLayer())


           return scene


end


function LogonScene:createLayer()

    -- add HelloWorld label
    local layer = cc.Layer:create()


    cc.Label:createWithSystemFont("1231231", "Arial", 40)
        :move(display.cx, display.cy + 200)
        :addTo(layer)


local newSp = cc.Sprite:create("HelloWorld.png")
newSp:setPosition(cc.p(display.center.x-333, 100))
newSp:addTo(layer)


    return layer

end

return LogonScene


跳转方式


local scene = LogonScene:create()

cc.Director:getInstance():replaceScene(scene.create())



2、MVC模式

定义方式


local LogonScene = class("LogonScene", cc.load("mvc").ViewBase)




function LogonScene:onCreate()
    -- add background image
    -- display.newSprite("HelloWorld.png")
    --     :move(display.center)
    --     :addTo(self)


    -- add HelloWorld label


    cc.Label:createWithSystemFont("1231231", "Arial", 40)
        :move(display.cx, display.cy + 200)
        :addTo(self)


local newSp = cc.Sprite:create("HelloWorld.png")
newSp:setPosition(cc.p(display.center.x-333, 100))
newSp:addTo(self)



end

return LogonScene


跳转方式


self:getApp():enterScene("LogonScene2")


此种方式需要 cocos mvc相关代码的支持





3、quick方法

local LogonScene = class("LogonScene", function() 

return display.newScene("LogonScene")
end)



0 0
原创粉丝点击