我试图了解Lua的工作原理,以及如何将它集成到一个项目中,比如基于Obj-C的iPhone游戏.我已经集成了Lua的源代码,并且设法使用一个简单的管理器类将.lua文件中编写的函数调用转换为项目中的Obj-C方法.
我现在有点陷入困境; 我不知道如何使用Lua来做什么,并且在谷歌上搜索了很多东西我没有找到一篇文章来填补我理解中的小差距.我想做的是使用Lua为游戏中的关卡编写简单的游戏逻辑; 例如,我可能想检查玩家是否已经移动到关卡的某个部分,然后一旦他这样做我检查他是否拿起一个对象,然后一旦他抛出该对象我检查它是否碰到另一个对象,等等等
在脚本中,我想要这样的东西:
if (objectsAreTouching(level.objects["objIndex1"], level.objects["objIndex2"]))
{
//Move to next win-condition.
}
Run Code Online (Sandbox Code Playgroud)
所以我知道如何访问一个函数,例如上面提到的函数,objectsAreTouching但是我无法从.lua文件中看到如何从游戏的主类中访问一个字典或数组.我认为这一定是可能的,对吗?如果是这样,你怎么做?如果可以的话,你可以在你的游戏引擎中有一个方法,它返回一个BOOL传递,它返回值到脚本,以便上面的if语句然后执行它内的代码吗?
我很可能会严重地问这个问题,所以如果我需要澄清任何事情,请告诉我.另外,我知道Apple禁止解释代码的问题,这个小项目并不关心我.
谢谢你的帮助!