在iOS中使用Lua和侧面加载脚本。

Gameloft最新的游戏《Order&Chaos》从检查更新屏幕开始,这表明他们能够更新某些数据而不必更新整个二进制文件。我相信他们在应用程序中使用某种脚本语言,例如Lua,并更新这些脚本以更改某些值(例如物品的购买价格)。

你在iOS应用程序中侧载或更新脚本方面的经验如何?我的意思不是加载新的图形或其他内容,而是像我的Lua路径查找实现这样的游戏逻辑。

苹果明确表示,这是不允许的

3.3.2 应用程序不得下载或安装可执行代码。 只有将所有脚本、代码和解释器打包到应用程序中而不是下载时,才可以在应用程序中使用解释代码。除此之外,唯一的例外是由苹果内置的WebKit框架下载和运行的脚本和代码。

原文链接 https://stackoverflow.com/questions/6390415

点赞
stackoverflow用户356438
stackoverflow用户356438

我还没有尝试过这个,但难道不只需要查询服务器,获取一个字符串,然后将其解析到数据库中就可以了吗?

由于这不是可执行代码,只是有分隔符的文本,因此可能不会违反苹果的政策。

你也可以通过这种方式做更复杂的事情。这与DropBox下载文件到手机以便查看并没有太大区别。但是,这将是一个3D对象,而不是文档文件。

2011-06-17 19:03:32
stackoverflow用户760275
stackoverflow用户760275

这种情况在大多数应用中出现,例如TinyChef、RestaurantStory、HotelStory等等。

它们更新内容,但不更新核心程序。它们只是添加新的内容或者修改现有的内容,使用来自远程服务器的外部文件和数据库更新。

例如,它们会下载新的图形,将新的甜点项目添加到其数据库中的甜点表中,最后当它们展示所有的甜点时,新的项目会出现,就好像这个应用从一开始就有这个新甜点。

如果你需要更多信息,我可以详细说明。

更新

如果你正在使用lua,则可以通过下载包含你的关卡数据的文件来轻松地添加新的游戏级别。我相信你熟悉使用外部文件(每个关卡/物品/角色一个)并使用通用格式进行解析的方法。

你可以将你的路径寻找算法放在另一个文件中,然后在其有所改进时更新(下载并替换)该唯一文件。

2011-06-17 19:10:31
stackoverflow用户851750
stackoverflow用户851750

我认为3.3.2条款是为了防止任何人可以从App Store下载/购买像Love2D for iPhone这样的引擎,用Lua创建游戏/应用程序,在iPhone上通过Web下载并使用此引擎执行,因为这意味着使用中间SDK而不是官方SDK在iPhone上开发和部署应用程序,当然,而不必向苹果支付任何费用。

想想看,你可以使用这个系统创建自己的应用商店,这就是苹果想要防止的。但我认为苹果不关心这种类型的下载,其中你想要更新自己的应用程序逻辑或关卡。

2011-07-19 10:17:12