0

私は最近よく検索しました.コンパイル時に外部のswfファイルをhaxeプロジェクトにロードし、クラスタイプとしてIDを介してmovieClipを使用できることがわかりました..

クールで素敵ですが、レイヤーを持つ MovieClip をインスタンス化するとどのように機能しますか? 私が持っているのは、レイヤー、画像のレイヤー、および画像レイヤー上のテキストのレイヤーを含むムービークリップです。

それで、これは達成可能ですか?movieClips (画像とテキスト) のインスタンスは表示されますか?

4

2 に答える 2

1

まず、コードの観点からフラッシュ用語を分析しましょう。

層:

レイヤーをグループ化された z インデックスと見なします。複数のオブジェクトを持つ単一のレイヤーも、各クリップにサブ z インデックスを割り当てます (コンテキスト メニューの [最背面へ移動] オプションを参照してください)。

フラッシュ IDE は、オブジェクトのいくつかのインスタンスをグループ化してロックし、他のインスタンスで作業するための優れたインターフェイスを提供します。このような各グループはレイヤーです。

実行時に、すべてのレイヤー (オブジェクトを含む) が 1 つのリスト (表示リスト) に連結され、オブジェクトはリスト内の位置の順にステージに配置されます。

フレーム:

フレームは、Flash Player の fps プロパティによって制御される時間のスライスです。したがって、12 fps の場合、その時間フレームに入力したコードが 1/12 秒間注目されることを意味します。

もちろん、フレームまたはレイヤー内で行うすべてのコードが記述されています。たとえば、IDE に手動で入力したコードは、内部でaddframescriptを呼び出すことによって追加されます。

ビデオクリップ

MovieClip クラス自体は、実際には IDE 関連のものです。分割は、スプライト クラスとタイムライン (フレームのコレクション) と関連するプロパティとメソッドです。

したがって、Movieclip クラスは、currentFrame、totalFrames などのプロパティと、gotoAndPlay()、stop() などのメソッドを提供して、フラッシュ制御クラスと対話します。


上記のすべてを考慮すると、ムービークリップにアクセスすると、フレームで定義されているように、さまざまな時間間隔でさまざまな画像/テキスト/オブジェクトが表示されることが予想されます。

于 2013-01-26T09:04:28.043 に答える
0

私はフラッシュに多くの時間を費やしたことはありませんが、あなたの質問への答えは、Flash/AS3 がどのように機能するかをよりよく理解することから得られたものであり、Haxe とはあまり関係がありません。

この答えを引用:

レイヤーは Flash IDE にのみ存在します。これらは、Flash Player の表示リスト システムの一部ではありません。したがって、子供がどの層に入るかを指定することはできません。addChild() または addChildAt() を使用して、コンテナに子を追加します。

つまり、Haxe には、どのオブジェクトがどのレイヤーにあるかという概念がなく、AS3 にもそのような概念はありません。正しいアプローチは、AS3 または Haxe によって認識される ID を持つコンテナーを使用し、コンテナーに子を追加することです。

TLDR: レイヤーではなく、コンテナーのムービー クリップを使用します。

于 2013-01-26T04:59:48.380 に答える