0

モバイルアプリで小さなゲームを開発するためにFDT Freeを使用しています。ゲームの制御にはジャイロスコープが必要なので、プロジェクトの lib フォルダーに Adob​​e のジャイロスコープ AIR 拡張機能(ANE および SWC) を追加しました。

モバイル デバイスでテストすると、拡張機能は正常に動作します。ただし、アプリをデスクトップ アプリケーションとして実行しようとすると、次のエラーが表示されます。

拡張機能のロード中に問題が発生したため、コンテンツをロードできません: エラー: 要求された拡張機能 com.adobe.gyroscope は、Windows-x86 ではサポートされていません。

デスクトップ実行構成でジャイロスコープを使用するコードを除外するために、次の引数をコンパイラ引数に追加しました。

-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にアクセスし、デフォルト ライブラリの作成に関するセクションを読んで、その方法を理解してください。必要なのは、NE のパブリック インターフェイスに一致するスタブ メソッドを備えた単純な AS3 プロジェクトだけです。その後、NE をコンパイルすると、どのプラットフォームでも問題なく動作します。

于 2013-06-07T05:44:04.713 に答える