标签:ane
flash是跨平台的,虽然目前用flash开发手游的公司比较少,但是也是存在的。目前一般手游用cocos2dx的比较多,3d手游一般都用unity3d。以前做webgame的公司转型做手游后,技术转型也是一个问题,所以基本都会能采用现有的技术体系就采用,不会硬是转型用主流。以前做webgame,使用flash还是非常多的,所以转型手游后也基本会用flash开发手游,也不会有什么问题,除了极少数的机型兼容性问题外,基本没别的问题,都说flash的性能差,但是做一般性的、不是很复杂的游戏足够了,不会因性能问题产生什么问题。手游经常要和第三方平台合作,所以一般也需要接第三方平台提供的sdk,sdk功能一般都是登录、注册、支付,再加上一些其他的统计。flash开发的手游可以分别打包成apk和ipa运行于Android和IOS,在接SDK时需要分别接Android和IOS的SDK,都是通过ANE来完成的。
ANE是Adobe Air Native Extension的缩写,即Air的本地扩展,flash中as3不能直接调用系统平台本地的接口和方法,ANE的作用可以理解为是flash as3和本地系统接口方法的一个桥梁,通过ANE封装一些调用本地接口的方法,然后在as3中再调用ANE中的接口方法,来达到调用本地接口方法的目的。
在这里讲不详细说明开发ane的具体代码和过程,只是对ANE作一个简单的说明,可以快速了解ANE是什么,有什么用,以及需要注意的地方。
下面是我在开发android ane过程中遇到的一些问题:
1、海外平台方一般提供的sdk有2个工程:平台方自己的sdk和facebook sdk(或google play service sdk),有经验的平台方自己的sdk中是动态获取资源,不是通过R.xx.xx来获取的,这样我们就不需要在ane中去处理资源的映射了;但是facebook sdk或google play service sdk都是通过R.xx.xx来获取资源的,我们需要在ane中手动将资源重新映射一遍,否则打成ane包(*.ane)后放到flash工程中会因找不到资源而导致无法将flash工程无法打包,找不到资源的原因是flash mobile项目打包时会自动生成一个以air.xx.xxx....开头的包名。具体映射资源的方法这里简单说下:
之后有时间会将android ane的具体步骤详细的记录下来,可能N年以后还会接触呢。不过我相信adobe flash也会慢慢解决开发ane繁琐复杂的情况的,到时候可能做ane就不会有那么多的坑爹坑娘坑全家的各种莫名其妙的问题了。
标签:ane
原文地址:http://blog.csdn.net/abc_key/article/details/41688049