我正在努力掌握Lua的工作原理,以及如何将它集成到一个项目中,比如一个基于Obj-C的iPhone游戏。我已经很好地集成了Lua的源代码,并且已经设法使用一个简单的管理器类来将.Lua文件中编写的函数调用转换为项目中的Obj-C方法。
我现在有点卡住了;我不知道如何去做我想用Lua做什么,在google上搜索了很多,我还没有找到一篇文章来填补我理解上的小空白。我想做的是使用Lua为我的游戏中的关卡编写简单的游戏逻辑;例如,我可能想检查玩家是否移动到关卡的某个部分,然后一旦他移动,我就检查他是否捡起一个物体,然后一旦他抛出那个物体,我就检查它是否击中另一个物体,等等。
在剧本里,我想有这样的东西:
if (objectsAreTouching(level.objects["objIndex1"], level.objects["objIndex2"]))
{
//Move to next win-condition.
}
objectsAreTouching
,但我看不出如何从.lua文件中访问游戏主类之一中的字典或数组。我想这一定是可能的,对吗?如果是,你怎么做?如果可以,那么您的游戏引擎中是否有一个方法可以将返回值的BOOL pass返回给脚本,这样上面的If语句就可以执行其中的代码了?
谢谢你的帮助!