quickcocos2dx framework
来源:互联网 发布:淘宝 相机回收 靠谱不 编辑:程序博客网 时间:2024/04/29 08:46
framework
cc
ui
init.lua
makeUIControl_
所有的ui下的组件都使用了这个方法,它为ui组件提供了components.ui.LayoutProtocol和components.behavior.EventProtocol导出。
另外,它注册了cc.Event.EXIT_SCENE事件,保证在退出SCENE的时候清除所有的事件引用。
components
Component.lua
所有组件的基类。提供了绑定bind_和导出方法exportMethods_的基本功能。
behavior.EventProtocol.lua
与 api.EventProtocol.lua 的作用大致相同。只是它继承了Components链。根据廖大的说法,这个类会替换api.EventProtocol.lua
behavior.StateMachine.lua
一个状态机的实现,一些组件使用了这个状态机。例如UIButton、UISlider。mvc sample中也使用了这个状态机。
ui.BasicLayoutProtocol.lua
布局的基本实现
ui.LayoutProtocol.lua
mvc
AppBase.lua
实现MVC中的唯一App,使用CCNotificationCenter注册了AppBase.APP_ENTER_BACKGROUND_EVENT和AppBase.APP_ENTER_FOREGROUND_EVENT两个事件,不知在真机上是否有用。
ModelBase.lua
实现MVC中的M。继承了EventProtocol的功能,可以发布事件。但是提供的初始化属性的方法我觉得没有什么作用,用起来很蹩脚。
Event.lua
Event.ENTER_SCENE = ENTER_SCENE_EVENTEvent.EXIT_SCENE = EXIT_SCENE_EVENTEvent.ENTER_TRANSITION_DID_FINISH = ENTER_TRANSITION_DID_FINISH_EVENTEvent.EXIT_TRANSITION_DID_START = EXIT_TRANSITION_DID_START_EVENTEvent.CLEANUP = CLEANUP_EVENTEvent.ENTER_FRAME = ENTER_FRAME_EVEN
可以使用addScriptEventListener来注册这些事件,他们在 [quick]\lib\luabinding\cocos2dx\cocoa\CCEventDispatcher.tolua 中导出。
这里的几个事件是quick专有的,来源于下方 CCEventDispatcher.h
removeScriptEventListener并没有正确导出,第二个参数没有设置成LUA_FUNCTION。因此不太容易关闭这个注册。
这个实现是在传递事件是ENTER_FRAME的时候,开一个计时器。这种方式并不灵活,而且在多次调用的时候会出现定时器重复调用。
不建议使用这种方式来获取全局计时器事件。而应该在lua中自己启动一个计时器。
GameObject.lua
游戏中所有的组件(所有类)都应该实现它。它实现了组件的继承链。
Registry.lua
实现继承链的辅助类。它是一个组件库,保存所有注册的组件,为继承链中的组件实例化提供帮助。
EventProxy.lua
通过代理注册事件的好处:可以方便的在视图删除时,清理所以通过该代理注册的事件,同时不影响目标对象上注册的其他事件
EventProxy.new() 第一个参数是要注册事件的对象,第二个参数是绑定的视图。如果指定了第二个参数,那么在视图删除时,会自动清理注册的事
shortcodes.lua
这里保存一些为了提升开发效率而封装的快速代码。例如 addTo 将自己增加到父容器中,pos 设定坐标, onTouch 绑定一个触摸事件。支持链式操作。
cocos2d-x中没有的类
[quick]\lib\cocos2d-x\cocos2dx\draw_nodes\CCShapeNode.cpp
提供一些画图的快速方法。
[quick]\lib\cocos2d-x\cocos2dx\misc_nodes\CCClippingRegionNode.cpp
根据一个CCRect设定一个显示区域,与CCClippingNode的功能有些类似,但功能和使用更简单。
[quick]/lib/cocos2d-x/cocos2dx/cocoa/CCEventDispatcher.h
提供事件。详见上方的 Event.lua
tolua
CCNode
导出:[quick]\lib\luabinding\cocos2dx\base_nodes\CCNode.tolua
- quickcocos2dx framework
- quickcocos2dx framework环境变 fatal error C1083: 无法打开源文件:“.Box2D/Dynamics/b2World.h”: No such file or d
- quickcocos2dx 配置环境
- quickcocos2dx 的绘画功能
- 详解QuickCocos2dX继承机制
- quickcocos2dx scheduler妙用
- 详解QuickCocos2dX状态机模式设计
- 详解QuickCocos2dX状态机模式设计
- quickcocos2dx 3.3 拉伸适配
- 详解QuickCocos2dX状态机模式设计
- quickCocos2dx 中添加自定义类,导出lua
- quickcocos2dx 切到后台声音继续播放
- quickcocos2dx cocostudio的panle中添加cclayer
- 最新quickcocos2dx环境搭建版本指南
- quickcocos2dx资源丢失的巨坑
- cocos2dx lua 和 quickcocos2dx lua需知(持续添加)
- quickcocos2dx修改c++源码,并且导出给lua使用。
- 对quickcocos2dx 多分辨率适配的理解
- QWSInputMethod类参考
- MySQL学习笔记-数据类型
- svn文件冲突,树冲突详解
- Github
- 如何在论坛发布外链的方法技巧
- quickcocos2dx framework
- 带你了解WiFi共享精灵的共享模式
- Apache ZooKeeper入门3
- 【LeetCode】Climbing Stairs
- LeetCode 22 — Generate Parentheses(C++ Java Python)
- 生成一定范围内的真随机数
- javac 找不到bitmap的解决办法
- python dom 解析 webservice xml
- 关于Oracle数据库