2012-03-21 8 views
0

ステージを持つゲームクライアントを作成します ゲームインスタンスを子としてロードします ゲームインスタンスが新しいムービークリップを作成し、それをゲームインスタンスステージに追加します。 タイルセットには独自のステージがあり、タイル(ゲームマップ)、アイテム、メニュー、ヒーローとしてロードされます。 アイテムにヒットすると、それは子供としてタイルセットにムービークリップを追加し、そのムービークリップには、内部に新しい子を作成する外部SWFがロードされます。displayobject depth

問題は、Flashを使用してエアデバッガでテストするとすべての子どもが完璧に動作することですが、パブリッシュしてインストールすると、ロードされた外部swfの動的部分が表示されません。

ステージに何人の子供がいるのかに制限があるのか​​、それとも深さの限界に達したのだろうかと思います。

+0

私はnumChildren-1をトレースして、外部swfの読み込みを開始すると3人の子供を表示します(2人の子供がいる)。デバッガにいるときにすべてを表示しますが、 app)それは外部のswfを省略します – fokion

+0

おそらくそれをインストールすると、外部swfの場所が異なるので、それを見つけることができなくなるでしょうか?正しい場所から外部swfをロードしようとしていることを確認してください。 –

+0

xmlや他のswfなどのさまざまな必須ファイルが完全にロードされているため(インストールしても)、場所の問題ではありません。問題はswfの読み込みではなく、子としてswfの動的コンテンツの表示です – fokion

答えて

0

DisplayObjectsに関する制限には、すばやく到達していません。実際には、表示ツリーのいくつかが、3つの深さと比較したときに作成に参加したものです。

この問題では、外部swfをロードする際に、特定のプラットフォームで実行するために実際にクロスコンパイルされたコードを覚えておく必要があります。これが意味することは、変換プロセスでエンディアン、バイトオーダー、ワードサイズ、その他のCPUやプラットフォーム固有のプロパティが考慮されている可能性があるということです(Dalvikへのクロスコンパイルはもちろん、アンドロイドJVM、バイトコードまたはA4/A5マシンコード、実際の命令セットがそこで呼び出されているかどうかはわかりません)。私はこれを掘り起こすことにしました。そのため、私はAPKとしてプロジェクトをエクスポートし、7-zipでAPKを開き、swfを見つけて(そして他のすべての構造を見て)、swfを抽出して、 AIRデバッガ内でテストするbin-debugフォルダに格納されます。 7-zipを持つ人たちの両方を開き、binデバッグのSwfにはDoabCファイルが大量にあり、同じプログラムのapkバージョンには1つのみが含まれています。多くのファイルがちょうど4バイトであるので、さらに検査すると16進エディタが必要でした。そうすれば、通常のテキストエディタを使用してそれらを読み取ることができませんでした。デバッグモードでデバイス上で実行すると、おそらく何らかのエラーが発生します。

資産を実行時にmp3、pngのいずれかである「普通の」形式で読み込むことをお勧めします。​​

実際にswf自体がロードされているのとは別に、外部から読み込まれたswfを使って、私が考えることのできるすべてを達成できるはずです。

また、swf以外のすべてで何が起こっているのか分からない場合は、SDKのswfdump.jarユーティリティを調べてみてください(私の4MBのswfが100MBのXMLファイルすべてのことを綴っています...私は「最初のオブジェクトXMLエディタ」を使って非センスXMLをこのように熟読します)私たちのソースで定義されたクラスが終わらないことを知るメイヴンプラグインを書くためにそのjarファイルを使いました孤立したコードのクリーンアップに役立てるために、結果として得られたswfで

+0

この回答は、OPが明記されていないアンドロイドで実行するために空気を使用していない限り、 – grapefrukt

+0

@grapefrukt swfの逆コンパイルを提案していないので、AIRアプリケーションをネイティブアプリケーションとしてパッケージ化すると、次のような変更が発生することが示唆されています。 bin-debugフォルダから同じパッケージを最終パッケージにパッケージングするだけでなく、別の変換が行われます。また、OPはスプライトやディスプレーで何らかの制限に達していると考えています問題ではないオブジェクトがあります。また、私はもともと実際のターゲットプラットフォームを推測するために残しました。プラスは、モバイルがディストリビューションターゲットとして理にかなったゲームなので、私は想定していました。 – shaunhusain

関連する問題