cocos2dx 3.12 lua切换场景

cocos2dx 3.12 lua切换场景,第1张

概述创建工程略过。。。 1.将要切换场景的lua文件,里面含有2个方法,一个全局的一个局部的,全局的是在切换场景的时候用(为什么定义全局的,后面会有说明),场景只简单的展示了一张图片 local s = cc.Director:getInstance():getWinSize()local GameMainLayer = nilGameMainLayer = function () l

创建工程略过。。。

1.将要切换场景的lua文件,里面含有2个方法,一个全局的一个局部的,全局的是在切换场景的时候用(为什么定义全局的,后面会有说明),场景只简单的展示了一张图片

local s = cc.Director:getInstance():getWinSize()local GameMainLayer = nilGameMainLayer = function ()    local ret = cc.Layer:create()    local pBg = cc.Sprite:create("fruit/MM_0002.png")    -- self.Bg:setAnchorPoint(cc.p(0.5,0.5))    pBg:setposition(cc.p(s.wIDth/2,s.height/2))    ret:addChild(pBg,1)    return retendfunction cc.exports.CreateGameScene()    print("CreateGameScene...")    local scene = cc.Scene:create()    local layer = GameMainLayer()    scene:addChild(layer)    return sceneend


2.切换前的场景,定义一个背景图,一个按钮,通过按钮事件来实现切换场景

因为要用到GameScene.lua文件,所以这里要引用一下;

重点是在按钮回调的方法changeSceneCallBack() 里面的CreatGameScene这个方法,由于在CreatGameScene在GameScene.lua里是一个全局的,所以这里就能很方便的调用,这也就是为什么在GameScene.lua将它定义为全局的原因

require "app/vIEws/GameScene"local MainScene = class("MainScene",cc.load("mvc").VIEwBase)local s = cc.Director:getInstance():getWinSize()print(s.wIDth,s.height)function MainScene:onCreate()    -- add background image    -- display.newSprite("HelloWorld.png")    --     :move(display.center)    --     :addTo(self)    -- -- add HelloWorld label    -- cc.Label:createWithSystemFont("Hello World","Arial",40)    --     :move(display.cx,display.cy + 200)    --     :addTo(self)     self.Bg = cc.Sprite:create("fruit/logo.png")     self.Bg:setposition(cc.p(s.wIDth/2,s.height/2))     self:addChild(self.Bg,1)     local function changeSceneCallBack()     	print("changeSceneCallBack...")     	local _gameScene = CreateGameScene()     	if _gameScene then            print("1111111")     		cc.Director:getInstance():replaceScene(_gameScene)     	else     		print("_gameScene  nil...")     	end     end      local changeItem = cc.MenuItemImage:create("Closenormal.png","CloseSelected.png")     changeItem:setScale(3.0)     changeItem:registerScriptTapHandler(changeSceneCallBack)     changeItem:setposition(cc.p(s.wIDth/2,200))     local changeMenu = cc.Menu:create(changeItem)     changeMenu:setposition(cc.p(0,0))     self:addChild(changeMenu,1)end

切换前场景(项目采用的是横屏)

切换后场景

总结

以上是内存溢出为你收集整理的cocos2dx 3.12 lua切换场景全部内容,希望文章能够帮你解决cocos2dx 3.12 lua切换场景所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081138.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存