Cocos2d-x 3.x 由导演类维护一个全局的 Scheduler,由导演控制其刷新,在任何地方都可以通过导演来获取这个全局定时器的实例指针,当然也可以自己手动创建另一个定时器,但手动创建的定时器默认不会刷新,需要手动去刷新。
【Lua】Lua 与 C++ 交互及 Lua 绑定
Lua 是一个使用 C 编写的库,可以通过 C API 可以很简单的实现 Lua 与 C 之间的交互,Lua 虚拟机会维护一个栈,所有的 C API 都是通过操作这个栈来实现交互。C 调用 Lua 很简单,直接通过虚拟机编译执行 Lua 代码即可,而 Lua 调用 C 则需要先将 C 函数导出,注册到虚拟机环境中去;C 函数导出可以单个导出,也可以使用模块进行批量导出,而最高效的方法是借用第三方库进行自动导出,比如 tolua++。
【Cocos2d-x】使用 tolua++ 导出 C++ 类(3.x版本)
Cocos2dx 3.x 使用 Python 进行 Lua 绑定,除了为每个类定制配置文件 *.ini
之外,还需要修改可执行脚本 generator.py
。
【Cocos2d-x】使用 tolua++ 导出 C++ 类(2.x版本)
Cocos2dx 2.x 版本使用 tolua++ 进行 Lua 绑定,需要三个文件,包描述文件 *.tolua
,定制脚本 basic.lua
和可执行脚本 build.bat
。
【SFML】事件管理
SFML 能够处理 PC 程序的几乎所有事件,包括窗口关闭事件、窗口大小改变事件、失去/获得焦点事件、字符输入事件、键盘事件、鼠标事件、游戏手柄事件。另外,对象全局的输入设备,比如鼠标、键盘、游戏手柄,SFML 还提供对应的静态类,用于获取设备的各个状态,能够实现事件无法很好实现的功能。
【SFML】窗口管理
SFML 是一个使用 C++ 编写的多媒体库,包括系统、窗口、图形、音频、网络五个模块,适用于 Windows, Linux, MacOS 等主流 PC 平台,未来还可能扩展到手机平台。SFML 用于快速构建 PC 窗口程序,很适合于开发游戏及多媒体应用,同时它本身也是一个 OpenGL 工具库,可以直接应用于 OpenGL 程序的窗口管理。