将Actionscript语法转换为Objective C

gra*_*ukt 7 syntax porting objective-c actionscript-3

我有一个我在Actionscript 3中编写的游戏,我希望移植到iOS.游戏中有大约9k的LOC分布在150个类中,大多数类都用于数据模型,状态处理和级别生成,所有这些都应该易于移植.

但是,在所有这些文件中手动重新调整语法的想法并不吸引人.有没有可以帮助我加快这个过程的工具?

我不是在寻找一个神奇的工具,我也不是在寻找交叉编译器,我只想帮助转换我的源文件.

Sim*_*olt 1

我不知道有什么工具,但如果确实有很多(简单)代码需要转换,这就是我尝试解决您的问题的方法。我确信我的建议对于非常特定于 flash 的代码部分(所有 DisplayObject 内容?)没有那么有用,并且对于您的许多逻辑也没有那么有用。但建造起来会很有趣!:-)

部分自动转换应该是可能的,特别是如果对象只是“数据容器”,请注意不要将太多的 as3-idiom 引入 Objective-C,但它可能并不总是合适。

除非您想为 as3 创建自己的(半)解析器,否则您需要某种解析器,显然FlexPMD有一个(从未使用过它),并且可能还有其他解析器。

掌握解析器后,您必须找到某种方法向系统建议哪些部分可以自动转换。您可以尝试将规则添加到一般情况下的解析器/生成器脚本中。对于更具体的情况,我会在实际的类/属性/方法上使用自定义元数据,假设真正的 as3 解析器可以正确解析它们。

现在,您的部分工作将从手动转换文件转变为手动注释文件,但这对您来说可能没问题。

让解析器解析您的类并根据您的元数据定义操作,这将确定生成哪种类型的 Objective-C 类。如果你做到了这一点,它至少可以让你得到所有的类,它们的简单属性和方法签名(转换方法的主体可能有点太多了,但你可以将它作为注释包含在内,这样你就可以了手工翻译时很好的参考)。

PS:如果您将其设为单向过程,请务必确保稍后不需要重新生成它 - 如果您发现您一直在修改生成的代码并且以某种方式需要重新生成所有内容,那将是很糟糕的这些课程——这意味着你必须重做所有的努力!