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.1             enterNextScene

该函数进行下一个场景,最终通过调用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)

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值