我有一个我在Actionscript 3中写的游戏我想要移植到iOS。游戏中有大约9k的LOC分布在150个类中,大多数类都用于数据模型,状态处理和级别生成,所有这些都应该易于移植。
但是,在所有这些文件中手动重新调整语法的想法并不吸引人。是否有可以帮助我加快这一过程的工具?
我不是在寻找一个神奇的工具,我也不是在寻找交叉编译器,我只想帮助转换我的源文件。
答案 0 :(得分:1)
我不知道一个工具,但如果真的有很多(简单)代码要转换,这就是我尝试攻击你的问题的方式。我确定我的建议对于非常特定于Flash的代码部分(所有DisplayObject的东西都没有用)并没有那么有用,而且对你的许多逻辑也没那么有用。但是构建它会很有趣! : - )
部分自动转换应该是可能的,特别是如果对象只是'数据容器',请注意将过多的as3-idiom带到objective-c,但可能并不总是很合适。
除非您想为as3创建自己的(半)解析器,否则您需要某种解析器,显然FlexPMD有一个(从未使用过),而且可能还有其他解析器。
在获得解析器后,您必须找到一些方法向系统建议可以自动转换哪些部分。对于一般情况,您可以尝试将规则添加到解析器/生成器脚本中。对于更具体的情况,我会在实际的类/属性/方法上使用自定义元数据,假设真正的as3解析器会正确解析它们。
现在你的部分工作将从手工转换文件转移到手工注释文件,但这对你来说可能没问题。
让解析器解析您的类并根据您的元数据定义操作,这将确定要生成哪种Objective-c类。如果你得到这个工作,它至少可以得到你所有的类,他们的简单属性和方法签名(获得转换方法的主体可能有点太多要问,但你可以把它作为一个注释,所以你有手工翻译时的一个很好的参考。
PS:如果你把它变成一个单向的过程,那么你肯定不需要在以后重新生成它 - 如果你发现你一直在修改生成的代码并且某种程度上需要重新生成它会很糟糕 - 生成所有这些课程 - 这意味着你将不得不重做所有的辛勤工作!
答案 1 :(得分:1)
我已经开始将一个工具放在一起,以摆脱这个过程的卑微方面的优势。
我正在试图弄清楚是否有足够的兴趣使其干净且足够稳定以便其他人使用。反正我也可以这么做。
http://meanwhileatthelab.blogspot.com.au/2012/08/automating-process-of-converting-as3-to.html
到目前为止,在将我的一个相当大的游戏从AS3移植到objc时,我节省了很多时间。
答案 2 :(得分:0)
查看麻雀框架。它的设计目的是设计ActionScript开发人员,重新创建类似于模拟显示列表的类和类似的东西。如果您不想使用CS5打包机,无论您做什么,都必须潜入一些“重新调整”。
答案 3 :(得分:0)
即使存在某种解决方案,请注意架构逻辑是不同的,还有更多其他细节。 无论如何,即使有可能,你也会有一个奇怪的混合体。 我将从WWDC2012回来,消息是(一如既往地)性能和良好的用户体验。
所以你应该使用不同的编程模型重写。