美文网首页
DemoProject文档

DemoProject文档

作者: RainbowDesigner | 来源:发表于2016-06-11 17:22 被阅读0次

    概述

            DemoProject项目基于cocos2d-x3.4, 集成RainbowDesigner的Runtime代码.

    你可以基于DemoProject来快速创建自己的项目.

            DemoProject其实是一个精简的Lua游戏框架, UI全部用RainbowDesigner设计的VO文件. 

    UI布局/动画 只需要美术使用RainbowDesigner设计成VO就可以了.

             RainbowDesiner设计的Lua框架,其实是一个经典的MVC框架:

                    i.  视图层就是VO文件

                    ii. 控制层就是Lua脚本Controller代码

                   iii. Model层就是你有游戏数据管理器

    如果对Cococs2d-x比较熟悉的话, 可以很快熟练使用.

    如果打开工程?

    使用vs2012打开项目

    DemoProject\frameworks\runtime-src\proj.win32\xiaoxiaole.sln

    目录结构:

    目录结构

    游戏入口在哪里?

    Lua代码入口文件

    如何在Vo文件中设置Controller?

    VO文件中只要设置了Controller了,框架会自动调用Controller中的相关逻辑。

    1. 把UI文件中的Node,自动映射到脚本中

    2.自动执行脚本中的相关函数, 比如onEnter/onExit。。。等

    设置Controller和membervar

    如上图,设置了membervar, 那么可以在Lua中直接访问次变量:

        self.var_map:setPosition(100, 100)

    是不是很方便呢

    游戏UI方面抽象出2个基本的类, Window和Dialog:

         Window: 可以理解为全屏窗体,同一时刻只有一个Window可能被打开。

                    Window的Controller需要继承BaseController,例如:

    一个典型的Window Controller代码

        Dialog:对话框,在Window上层弹出式对话框,会屏蔽底层点击事件。

                   Dialog的Controller请继承BaseDialog,例如:

    一个典型的对话框Controller

    如何打开一个Window?

         TheGame.inst():show_window('viewobjects/Logo.vo', {})

        会自动打开Logo.vo文件, 当Logo.vo文件被打开的时候,会自动加载Logo.vo文件的Controller代码。

        show_window 可以带参数传递给Controller哦, 次参数会映射为Controller中的entity变量,具体看下代码吧 。

    如何打开一个Dialog?

         TheGame.inst():show_dialog('viewobjects/WidgetSetting.vo', {})

         会自动打开WidgetSetting.vo文件, 以对话框方式打开, 并且自动加载Dialog的Controller代码。

          show_dialog同样可以带参数传递给Controller。

    相关文章

      网友评论

          本文标题:DemoProject文档

          本文链接:https://www.haomeiwen.com/subject/bvqedttx.html