0

我正在使用FDT Free在移动应用程序上开发一个小游戏。为了控制游戏,需要陀螺仪,因此我在项目的 lib 文件夹中添加了 Adob​​e 的陀螺仪 AIR 扩展(ANE 和 SWC)。

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

无法加载内容,因为加载扩展时出现问题:错误: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 被包含在内?

4

1 回答 1

0

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

于 2013-06-07T05:44:04.713 回答