【发布时间】:2010-08-22 17:26:26
【问题描述】:
我正在尝试了解 Lua 的工作原理,以及如何将它集成到项目中,例如基于 Obj-C 的 iPhone 游戏。我已经很好地集成了 Lua 的源代码,并设法使用一个简单的管理器类将编写在 .lua 文件中的函数调用转换为项目中的 Obj-C 方法。
我现在有点卡住了;我不知道如何去做我想用 Lua 做的事情,并且在谷歌上搜索了很多,我还没有找到一篇文章来填补我理解中的小空白。我想做的是使用 Lua 为我的游戏中的关卡编写简单的游戏逻辑;例如,我可能想检查玩家是否已经移动到关卡的某个部分,然后一旦他这样做,我检查他是否捡起一个物体,然后一旦他扔掉那个物体,我检查它是否撞到另一个物体,等等等。
在脚本中,我想要这样的东西:
if (objectsAreTouching(level.objects["objIndex1"], level.objects["objIndex2"]))
{
//Move to next win-condition.
}
所以我知道如何访问一个函数,例如上面提到的函数objectsAreTouching,但我看不出我将如何从 .lua 文件中访问一个字典或数组游戏的主要课程。我认为这一定是可能的,对吗?如果是这样,你如何做到这一点?如果可以,那么您是否可以在游戏引擎中有一个方法,该方法将返回值的 BOOL 传递给脚本,以便上面的 if 语句随后执行其中的代码?
这个问题我可能问得不好,所以如果我需要澄清任何事情,请告诉我。另外,我知道苹果禁止解释代码的问题,我并不关心这个小项目。
感谢您的帮助!
【问题讨论】:
-
查看 Ansca Corona SDK (coronasdk.com),也许您可以完全在 Lua 中构建您的游戏并为包括 iPhone 在内的多个平台构建游戏?我不是公司的一员,只是一个快乐的 Corona 开发人员。
标签: iphone objective-c lua