在前两篇的视频中,分别演示了新项目一键编译和swf资源转换。本篇教程开始了解如何转换AS3旧项目。
教程流程概要
1、打开AS3游戏项目,运行测试,是否完整无错(如果AS3项目本身就存在错误,无法正常运行,要先解决掉)。
2、打开laya-tools,通过laya-tojs编译器进行转换;
3、转换后在谷歌浏览器环境下调试,如有报错,针对报错信息在AS3项目中找到对应的代码
4、参照layabox转换规则,修改引起报错的代码,然后重新发布;
教程要点:
Layabox的as3转换H5方案里,由于有的as3语言方法在全部转换后,会产生性能问题等原因,因此,工具转换后还有很少量的代码需要人工修改转换。针对这部分转换,Layabox提供了20条左右的转换规则,掌握这些规则后,开发新项目完全可以一键编译;但是旧的as3项目在转换过程中,仍需根据这些转换规则,人工找出需要修改的地方,人工需修改的代码量极少,大量转换案例证明,修改量不足0.2%。
本期教程中的小游戏实例,就仅出现一种需要按转规则人工修改的地方。视频中讲解并演示如何在Html5环境中找出问题,再通过提示在AS3项目中找出要修改的地方,根据规则修改后,重新编译发布即可解决问题;
教程槽点:
1、laya-tools工具仍有较大的提升空间,例如在本次教程中的一些人工复制资源等操作,在未来的版本中会减少这种人工干预行为,Layabox努力让工具更加的智能化,减少额外的人工参与行为;
2、转换后的游戏界面大小,是可以按照原游戏比例控制的,有相关的参数设置。将会在以后的教程中进行讲解;
3、本次教程中仅针对array.sortOn规则进行了演示,在以后的教程中会通过不同的转换实例,陆续讲解剩下的转换规则;
规则讲解:
描述:AS3里的array.sortOn方法,当编译器无法判别变量类型是否为数组时(比如:变量类型声明成*),需要使用ilaya.utils.SortOn.sortOn(array:Array,name:*,options:Object)方法来实现原生array.sortOn的功能;
例如:
var arr:* = [{"a":1},{"a":3},{"a":6},{"a":2}];
arr.sortOn("a",2|16);
应该修改为
var arr:* = [{"a":1},{"a":3},{"a":6},{"a":2}];
ilaya.utils.SortOn.sortOn(arr,"a",2|16);
高清视频链接地址:
http://www.tudou.com/programs/view/cWm0RDDczOU/
(点击左下角“阅读原文”或打开上面的链接地址,可查看高清教程视频)