2

モバイル プロジェクトとして実行したい as3-robotlegs (シグナル) アプリがあります。純粋な as3 エントリ クラスを使用できないことがわかりました。

これは、Flash プロフェッショナルまたは純粋な as3 プロジェクトでは問題なく機能します。

    public class TestX extends Sprite
{
    protected var context:ApplicationContext;
    use namespace mx_internal;


    public function TestX()
    {
        LoaderConfig.mx_internal::_url = loaderInfo.url;
        LoaderConfig.mx_internal::_parameters = loaderInfo.parameters;
        context = new ApplicationContext(this);     <---
        this.stage.nativeWindow.visible = true;
    }
}

FlexMobileの場合、index.mxmlで次のようなことをする必要があります

    <fx:Declarations>
        <context:SignalCafeContext contextView="{this}"/>   <----
    </fx:Declarations>

しかし、本当にすべての Flash コンポーネントを Flex UIComponent に変換する必要がありますか?それとも、FlexMobile プロジェクトで純粋な as3 (mxml なし) を使用できる方法はありますか?

ありがとう

編集

これらの素晴らしい答えをかき回すのに数日かかりました...私が知る限り、それらはすべて正しいです。エイミーの任意のswfsの公開はうまく機能し、純粋なアクションスクリプトモバイルプロジェクトを使用する方が簡単であることがわかりました

4

3 に答える 3

4

コマンドライン Adob​​e AIR Developer Tool (ADT) は、モバイル用の SWF をパッケージ化できます。

このようにして、さまざまなツールチェーンから作成されたモノリシック SWF をモバイル用にパッケージ化できます。

  • AIR 3.5 SDKをダウンロードします。
  • JRE を確認するか、Flash Builder のものを使用してください。
  • adt を実行して、SWF を IPA にパッケージ化します。

    adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc]
        -keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12
        -provisioning-profile ios.mobileprovision
        HelloWorld.ipa
        HelloWorld-app.xml
        HelloWorld.swf icons Default.png
    

それ以外の場合、Flash Builder 4.6 には純粋な ActionScript モバイル プロジェクトがあります。

  • ファイルを選択»新しい ActionScript Mobile プロジェクト

    new-actionscript-mobile-project

  • Flex SDK は AIR 用に参照されていますが、プロジェクトは純粋な ActionScript になります。

    プロジェクトの場所

  • モバイル設定を選択します。

    モバイル設定

  • すべての参照がコードにマージされていることを確認します。

    組み込み設定

  • プロジェクトを次のようにスタブします。

    package
    {
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
    
        public class X extends Sprite
        {
            public function X()
            {
                super();
    
                // support autoOrients
                stage.align = StageAlign.TOP_LEFT;
                stage.scaleMode = StageScaleMode.NO_SCALE;
            }
        }
    }
    
于 2012-11-15T03:44:30.827 に答える
3

しかし、本当にすべての Flash コンポーネントを Flex UIComponent に変換する必要がありますか?それとも、FlexMobile プロジェクトで純粋な as3 (mxml なし) を使用できる方法はありますか?

Flash Builder 4.6 では、ActionScript Mobile プロジェクトを作成できます。あなたが望むことをするべきです。Flex Mobile プロジェクトを作成すると、Flex Framework に依存することが想定され、メイン アプリケーション ファイルを Application を拡張する MXML ファイルにするなど、いくつかの特定のパターンが課せられます。

于 2012-11-15T01:22:04.177 に答える
1

これらの手順を使用して、swfを取得し、モバイル用に公開できます。

  • 新しいActionScriptモバイルプロジェクトを作成し、名前を付けます。
  • [プロジェクト]->[プロパティ]->[ビルダー]に移動します。
  • 「Flex」ビルダーのチェックを外します(ただし、「AIRapplication.xmlビルダー」はそのままにします)
  • 次に、任意のswf(つまり、myapp.swf)をbin-debugフォルダーにコピーします。
  • デフォルトのパッケージスペースに、swfと同じ名前(つまり、myapp.as)のActionScriptクラスを作成します。
  • myapp.asファイルを右クリックし、[デフォルトのアプリケーションとして設定]をクリックします</ li>
  • これでmyapp-app.xmlが生成され、必要に応じて開いて編集します。
  • 実行構成をクリックして、必要なプラットフォーム用にアプリをパッケージ化します。
  • 手順を繰り返して、パッケージにSWFを追加します。

FlashProとFlashBuilderの間を行き来する手順もここにあります

于 2012-11-15T01:36:21.440 に答える