Adobe AIR Mobile App - 在桌面上运行时排除ANE

时间:2013-06-05 14:44:35

标签: compiler-construction air adobe fdt

我正在使用FDT Free在移动应用上开发一款小游戏。为了控制游戏,陀螺仪是必需的,因此我将Adobe的gyroscope AIR extension(ANE和SWC)添加到我项目的lib文件夹中。

在移动设备上进行测试时,扩展程序正常运行;但是,当尝试将应用程序作为桌面应用程序运行时,我收到以下错误:

  

由于加载扩展程序时出现问题,因此无法加载内容:错误:Windows-x86不支持请求的扩展名com.adobe.gyroscope。

为了排除在桌面运行配置中使用陀螺仪的代码,我在编译器参数中添加了以下参数:

-define+=CONFIG::MOBILEDEVICE,false
-define+=CONFIG::DESKTOP,true

另外,我添加了代码片段,用于不编译使用扩展名的代码的某些部分:例如:

CONFIG::MOBILEDEVICE {
if (Gyroscope.isSupported) 
{
    gyro = new Gyroscope(); 
    gyro.setRequestedUpdateInterval(1000); 
    gyro.addEventListener(GyroscopeEvent.UPDATE, onGyroUpdate); 
}

使用条件编译工作正常,但是如何防止在运行桌面运行配置时包含ANE和SWC?

1 个答案:

答案 0 :(得分:0)

我无法确定此扩展的源代码是否可用,但如果是,则可能更容易在扩展中构建对默认平台的支持,而不是担心条件编译。您可以访问http://www.adobe.com/devnet/air/articles/building-ane-ios-android-pt2.html并阅读有关创建默认库的部分,以了解如何完成。它只需要一个简单的AS3项目,其存根方法与NE的公共接口相匹配。然后你可以编译网元,它可以在任何平台上正常工作。