加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

quick-cocos2d-x 学习系列之五 ccsloader学习

发布时间:2020-12-14 20:23:11 所属栏目:百科 来源:网络整理
导读:quick-cocos2d-x 学习系列之五 ccsloader学习 这个ccsloader 用例主要是实现将cocosdudio中导出的文件加入到游戏当中。想到后续能使用这么精彩的画面心里还是有点小激动的。让我们一起好好学习下这个神奇SAMPLE吧。 代码路径还是老地方:quicksamplesccsl

quick-cocos2d-x 学习系列之五 ccsloader学习

这个ccsloader 用例主要是实现将cocosdudio中导出的文件加入到游戏当中。想到后续能使用这么精彩的画面心里还是有点小激动的。让我们一起好好学习下这个神奇SAMPLE吧。

代码路径还是老地方:quicksamplesccsloader

1.DEMO总体逻辑

程序从main.lua中调用

require("app.MyApp").new():run()

跳入到MyApp.lua中。该类定义如下:

local MyApp = class("MyApp",cc.mvc.AppBase)

继承与一个封装类。

场景共13个如下图定义在MyApp.lua文件中。

self.scenes_ = {

"MenuScene",

"CCSSample1Scene",

"CCSSample2Scene",

"CCSSample3Scene",

"CCSSample4Scene",

"CCSSample5Scene",

"CCSSample6Scene",

"CCSReader1Scene",

"CCSReader2Scene",

"CCSReader3Scene",

"CCSReader4Scene",

"CCSReader5Scene",

"CCSReader6Scene"

}

场景具体实现在scenes文件夹中。

通过self:enterNextScene()函数直接进入到场景。

1.1enterNextScene

该函数进行下一个场景,最终通过调用self:enterScene函数进入场景。

2."MenuScene"

开始的第一个场景,该场景主要是让大家进行选择。

有一个标题,通过app:createTitle(self,"SelectLoader") 实现。

有两个按钮一个Use CCSLoader,一个Use CCSReader

区别在于Use CCSReader按钮按下后,会进行如下变量的设置:

app.currentSceneName_ = "CCSSample6Scene"

此外函数会有参数true,如:app:enterNextScene(true)

而Use CCSLoader直接调用app:enterNextScene()

注意:关于app,可以查看quickframeworkccmvcAppBase.lua中代码。

3."CCSSample1Scene"

关键语句

app:loadCCSJsonFile(self,"DemoHead_UI.ExportJson")

4."CCSSample2Scene"

关键语句

app:loadCCSJsonFile(self,"DemoLogin.ExportJson")

5."CCSSample3Scene"

关键语句

app:loadCCSJsonFile(self,"DemoMap.ExportJson")

6."CCSSample4Scene"

关键语句

app:loadCCSJsonFile(self,"DemoShop.ExportJson")

7."CCSSample5Scene"

关键语句

app:loadCCSJsonFile(self,"publish/FightScene.json")

8."CCSSample6Scene"

关键语句

app:loadCCSJsonFile(self,"publish/RPGGame.json")

9."CCSReader1Scene"

通过如下命令加载

cc.uiloader:load("BattleScene.csb"):addTo(self)

10."CCSReader2Scene"

关键语句

local widget = ccs.GUIReader:getInstance():widgetFromJsonFile("DemoLogin/DemoLogin.ExportJson"):addTo(self)

11."CCSReader3Scene"

关键语句

local widget = ccs.GUIReader:getInstance():widgetFromJsonFile("DemoMap/DemoMap.ExportJson"):addTo(self)

local scrollView = widget:getChildByName("DragPanel")

scrollView:setDirection(ccui.ScrollViewDir.both)

scrollView:addEventListener(function(sender,eventType)

print("CCSSample2Scenescroll")

end)

12."CCSReader4Scene"

关键语句

ccs.GUIReader:getInstance():widgetFromJsonFile("DemoShop/DemoShop.ExportJson"):addTo(self)

13."CCSReader5Scene"

关键语句

ccs.SceneReader:getInstance():createNodeWithSceneFile("publish/FightScene.json"):addTo(self)

14."CCSReader6Scene"

关键语句

ccs.SceneReader:getInstance():createNodeWithSceneFile("publish/RPGGame.json"):addTo(self)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读