首先在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
以上就是创建场景和场景跳转的写法了。