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

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

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

代码路径还是老地方:\quick\samples\ccsloader

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,可以查看\quick\framework\cc\mvc\AppBase.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)

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...