天天看点

cocos2dx,在lua里调用相同的lua文件。

游戏开发过程中,总会遇到“重试”的选项。

我编写的游戏是用c++作为主框架,每一关都是一个lua文件,这就造成了一个问题。

就是怎么再次读取刚才的哪个lua文件。

有人说,简单。dofile,就可以了。我刚开始也是这么想的,但是dofile有个缺陷。(dofile是什么,一百度,就一大把)

没有search功能,require 比较智能,但是智能读取一次,就不能再次读取了,因为lua已经记录了,你读过这个文件了。

我自己研究出来的方法,看了lua 的api,找到了。package.loaded 这个。

这个是记录require 的读取了哪些文件。

好,答案已经一目了然了。先package.loaded [刚刚的lua文件]= nil 。然后require。

lua大神,觉得是小菜,本人记录的是成长过程中遇到的问题,可能可以帮到大家。

上一篇: Lua 弱引用