DemoProject文档

2016-06-11  本文已影响0人  RainbowDesigner

概述

        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。

上一篇 下一篇

猜你喜欢

热点阅读