Cocos2d-lua学习笔记之场景跳转

首先在mian.lua中,让第一个场景从MenuScene.lua开始

local function main()
    local scene=require("MenuScene.lua")
    local gameScene=scene:create()
    if cc.Director:getInstance():getRunningScene() then
        cc.Director:getInstance():replaceScene(gameScene)
    else
        cc.Director:getInstance():runWithScene(gameScene)
    end


end

然后我们在MenuScene.lua中创建该场景
①创建菜单界面

--创建菜单界面
local MenuScene=class("MenuScene",function()
    return cc.Scene:create()
end)

return MenuScene

②添加一个create函数

--添加一个create函数
function MenuScene:create()
    local scene=MenuScene.new()
    scene:addChild(scene:init())
    return scene
end

③添加构造

--添加构造
function MenuScene:ctor()
    self.winsize=cc.Director:getInstance():getWinSize()

end

④添加初始化函数

function MenuScene:init()
    local layer=cc.Layer:create()
    local label=cc.LabelTTF:create("PlaneGame","宋体",45)
    label:setString("PlaneGame")
    label:setScale(3)
    label:setPosition(self.winsize.width/2,self.winsize.height-100)
    layer:addChild(label)


    --添加菜单
    local label1=cc.LabelTTF:create("StartGame","宋体",40)  
    local itemStart=cc.MenuItemLabel:create(label1)
    label1:setScale(2)
    --itemStart:setPosition(self.winsize.width/2,self.winsize.height-110)
    local label2=cc.LabelTTF:create("Help","宋体",40)
    local itemHelp=cc.MenuItemLabel:create(label2)
    label2:setScale(2)
    itemHelp:setPositionY(itemHelp:getPositionY()-100)

    local menu=cc.Menu:create()
    menu:addChild(itemStart)
    menu:addChild(itemHelp)
    layer:addChild(menu)
--触摸监听
    local function menucallback(obj)
    print("按钮被按下"..obj)
        if tonumber(obj)==10 then
            local scene=require("GameScene")
            local gs=scene:create()
            cc.Director:getInstance():replaceScene(gs)
        else if tonumber(obj)==11 then
            local scene=require("HelpScene")
            local hs=scene:create()
            cc.Director:getInstance():replaceScene(hs)
            end
        end

    end
    itemStart:setTag(10)
    itemHelp:setTag(11)
    itemStart:registerScriptTapHandler(menucallback)
    itemHelp:registerScriptTapHandler(menucallback)

    return layer
end

以上就是创建场景和场景跳转的写法了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值