- 积分
- 136115
- 注册时间
- 2014-12-27
- 最后登录
- 2024-3-20
- 在线时间
- 602 小时
- 威望
- 562
- 贡献
- 29
- 金币
- 52619
- 钢镚
- 1422
- 交易凭证
- 1
- 分享
- 0
- 精华
- 33
- 帖子
- 2094
- 主题
- 1742
TA的每日心情 | 擦汗 2018-4-10 15:18 |
---|
签到天数: 447 天 [LV.9]以坛为家II
超级版主
- 威望
- 562
- 贡献
- 29
- 金币
- 52619
- 钢镚
- 1422
|
快速接入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
|
|