守望者--AIR技术交流

标题: 快速接入ANE(安卓+IOS) [打印本页]

作者: 破晓    时间: 2015-1-24 17:29
标题: 快速接入ANE(安卓+IOS)
快速接入ANE(安卓+IOS)

AIR的跨平台特性是相当牛叉的,以至于大多数使用它的开发者都会将它发布成安卓+IOS双版本(两个版本改动不能说没有,不过确实很少),但是发布后需要接入的各个平台的ane也会使绝大多开发者感到头疼(包括本猿)。

基于AIR SDK 3.6及以上版本都已经可以加载本地含有代码的swf,才使我这个“快速接入ane”的方式得以实现,这个办法尤其适合于接入多个相似类型的ane(如多个平台的登录、支付SDK),但不限于此。
言归正传,下面是具体步骤。

(本文创建的项目以Flash Builder 4.6为例,ane们以p1苹果版登录SDK和p2安卓版登录SDK为例,以下简称p1、p2)

1、为每个ane创建一个项目,主项目名字随意,每个项目新建一个类,从Sprite继承(重要),类名最好有规律,例如AneP1IOS和AneP2And(两个名字好像看不大出来=_=,再加后边两个例子:AneP3And,AneP4And,当然这个命名规则是我个人的爱好,各位可以自行设计)。

2、将ane中的方法在新建的类中封装一层(例子中的两个ane的作用相似,都是登录,所以可以将相同作用的接口抽象成接口(interface),然后分别在每个类中实现,非必要)。

3、在主项目中调用封装好的接口,debug一下下。

4、将这两个类(AneP1IOS,AneP2And)设置为默认应用程序,发布,将发布好的swf放入我们的游戏中。

5、在我们的游戏刚开始载入一个xml,这个xml里配置好要加载的第4步中发布的swf的名字,每个版本一个xml,名字要有规律(例如AneP1IOS.xml,AneP2And.xml),这个xml的名字放到每个版本的app.xml的description中,每个版本对应一个app.xml,配置上对应的extensionID。

6、在合适的时机加载,并实例化相应的ane,可以为不同功能的ane在我们自己的游戏中再封装一层,如果这个ane在当前版本中不需要的话所有接口都可以直接return。

7、打包最好是用adt,可以为每个版本的批处理文件分配不同的Ane*.swf、Ane*.xml和app.xml。

本文中的方法最大的好处是将ane的调用及功能调试分散到了不同的小项目中,调试好之后再直接导出放到自己的游戏项目中调用,有效的降低了调试ane的时间(ane一般需要打包到设备上调试)。







本文来自:


http://bbs.9ria.com/thread-180669-1-1.html





欢迎光临 守望者--AIR技术交流 (http://www.airmyth.com/)