2011-10-07 7 views
1

既存のAS3またはFlexプロジェクトをemyしてネイティブC++コードで実行するようにコンパイルしたいと思います。これを行う方法はありますか?どのような解決策が存在しますか?私はAS3コードを変更したくありません。AS3コードまたはFlexプロジェクトをネイティブC++にクロスコンパイルできますか?

+6

あなたが求めていることは意味をなさない。プログラムは「ネイティブC++コードで実行されません」。プログラムは、C++または他の多くのプログラミング言語の1つで記述され、実行可能なネイティブの機械語にコンパイルされます。 AS3をネイティブの実行可能ファイルにコンパイルする場合、C++はそれとはまったく関係ありません。 – filipe

+0

申し訳ありませんが、私はAS3をネイティブ実行可能ファイルにコンパイルしたいのです。 Flash Builder for iOSでできることと似ています。 –

答えて

1

いいえ、C++での動的な機能のための

  • 不在(あなたがObject、そこ同等describeTypeを持っていない)C++でのFlashのネイティブ型の
  • 不在(文字列(のstd ::文字列があります
  • 言語機能がない(イベントリスナー、ガベージコレクション)
  • C++のFlexフレームワークに相当するものはありません(C++では他にも優れたGUIフレームワークがありますが、要するに上記の理由のため。)

、そのためのコンバータを書くよりも、C++(Qtのを使用するか、または何でも同等の強度の枠組み)で同様のプログラムを書くことが容易ずっとです。

+0

私はこれを期待していましたが、他の方法のいくつかがこれをどのように処理していたかについては完全にはわかりませんでした。つまり、Flash BuilderとScaleformです。ありがとう。 –

2

haxeに変換することができれば(haxeは構文とよく似ていますが、ライブラリといくつかの言語構造だけが異なります)、 "native"用にコンパイルするオプションが提供されます。私はそれがC + +のソースコードを提供することさえ聞いたことがあるので、私はIRC haxe roomの人々に語られました。私はコード部分のためにトローされていたかもしれませんが、彼は彼がトローリングしていたようには見えませんでした...

私は完璧ではないと確かにいくつかの高度な機能が欠けています。

3

AS3は、事前にビルドされたライブラリで動作するフレームワークで、「翻訳済み」コードで何とか置き換える必要があります。たとえば、あなたがネイティブコードを実行するときに何をすると思いますか?new Sprite()

HaXeは交換品を探しません。それは簡単に翻訳するビットのコードを再利用できるという点で異なるアプローチをとりますが、翻訳しないコードは特定の環境に特有のものとしてマークされています。しかし、HaXeでは、NMEグラフィックエンジンを使用してフラッシュディスプレイリストのAPIに似たAPIを考案しています。

iOSコンパイラを使用して、表示リスト、ビデオ、オーディオプレーヤーなどの機能を提供するネイティブコードの既存のライブラリとコンパイルしています。

関連する問題