Lua内存是自动收集的,这点跟Java类似,不被任何对象或全局变量引用的数据,将被首先标记为回收,不需要开发者做任何事情.但是,正如Java也会有内存泄露一样,
Lua也会有,只不过,跟C++的不同,它是由于代码执行所装载的资源,并没有被彻底销毁而导致,其中,最臭名昭著的就是不小心把局部变量声明成了...
分类:
其他好文 时间:
2014-05-24 05:12:29
阅读次数:
337
什么是orchid?orchid是一个构建于boost库基础上的C++库,类似于python下的gevent/eventlet,为用户提供基于协程的并发模型。什么是协程:协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态。协程在控制离开时...
分类:
其他好文 时间:
2014-05-24 02:33:25
阅读次数:
370
协程协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态。协程可以在运行期间的某个点上暂停执行,并在恢复运行时从暂停的点上继续执行。协程已经被证明是一种非常有用的程序组件,不仅被python、lua、ruby等脚本语言广泛采用,而且被新一代...
分类:
其他好文 时间:
2014-05-24 01:38:01
阅读次数:
329
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。 对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。 对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。 简单说明一下,该函数类...
分类:
其他好文 时间:
2014-05-22 12:18:44
阅读次数:
211
编译静态链接库 1.下载Lua源码 下载后解压到一个目录下,这里假设解压到D:\win32Lua 注意下载的版本,如果是5.2.x,后面代码中的C API发生了改变 2)在VS2010中新建一个静态库项目,项目命名为lua a 选择新建 Win32 console project b 在wizard界面选择 static Library;不选择Pre...
分类:
其他好文 时间:
2014-05-18 14:46:43
阅读次数:
310
在lua中,可以通过元表来实现类、对象、继承等。与元表相关的方法有setmetatable()、__index、getmetatable()、__newindex。
具体什么是元表在这里就不细说了,网上很多介绍,这里主要讲与cocos2dx相关联的部分。
在lua-binding库中extern.lua里,有如下方法:
--Create an class.
function class(cl...
分类:
其他好文 时间:
2014-05-18 05:19:55
阅读次数:
298
设置如下参数:Standard architectures(armv7,armv7s)
$(ARCHS_STANDARD_32_BIT)设置方法如下:http://blog.csdn.net/remote_roamer/article/details/22100253http://blog.csd....
分类:
其他好文 时间:
2014-05-17 22:12:15
阅读次数:
370
在cocos2dx/tools/tolua++下面,有大量pkg文件,这些是按tolua++要求格式写好的、需要导出到lua中的c++类描述文件。每当在c++类里增加了新函数需要导出时,应同步修改相应的pkg文件,然后运行此目录下的build.sh,就会重新生成cocos2dx/script/lua...
分类:
其他好文 时间:
2014-05-17 19:01:59
阅读次数:
681
这里主要讲构建整个游戏需要的基本元素,很大部分都摘自cocos2dx官网。
1、Director 导演
导演,顾名思义,就是对整个游戏进行整体控制的。
“Director”是一个共享的(单元素集)对象,负责不同场景之间的控制。导演知道当前哪个场景处于活动状态,允许你改变场景,或替换当前的场景,或推出一个新场景。当你往场景堆中推出一个新场景时,“Director”会暂停当前场景,但会记住这...
分类:
其他好文 时间:
2014-05-15 23:24:48
阅读次数:
330