Lua内存是自动收集的,这点跟Java类似,不被任何对象或全局变量引用的数据,将被首先标记为回收,不需要开发者做任何事情.但是,正如Java也会有内存泄露一样,
Lua也会有,只不过,跟C++的不同,它是由于代码执行所装载的资源,并没有被彻底销毁而导致,其中,最臭名昭著的就是不小心把局部变量声明成了...
分类:
其他好文 时间:
2014-05-24 05:12:29
阅读次数:
337
协程协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态。协程可以在运行期间的某个点上暂停执行,并在恢复运行时从暂停的点上继续执行。协程已经被证明是一种非常有用的程序组件,不仅被python、lua、ruby等脚本语言广泛采用,而且被新一代...
分类:
其他好文 时间:
2014-05-24 01:38:01
阅读次数:
329
编译静态链接库 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
很多使用cocos2dx+lua做游戏的同学,都会想到一个问题,我的游戏一旦发布,怎样才能保证的我脚本代码不被破解,不泄露代码。虽然这和开源、共享的原则不合,但是代码也是coder的劳动成果,理应得到保护。特别是商业游戏更是如此,不希望被别人破解掉源码并且进行修改。
今天的话题就是如何实现lua脚本文件的加密和解密。
我在网络上查过,都没有成熟的解决方案。然后我经过考虑...
分类:
其他好文 时间:
2014-05-15 13:12:12
阅读次数:
277
闭包的一个重要场景,形成一个自治的环境,
让操作可以封闭运行,即函数运行时有状态的,可以从闭包创建时候的环境独立开来。 例如下面的lua闭包, genFilter 其入参parmIn是
函数的内部变量,当genFilter被调用时候, 产生的filter闭包,由于使用了 parmIn, 而使得...
分类:
其他好文 时间:
2014-05-15 07:53:31
阅读次数:
195