シーン1をロードした後、すべてのムービークリップはヌルです! Why?

actionscript-3 air flash movieclip scene
シーン1をロードした後、すべてのムービークリップはヌルです! Why?

OK

Scene 1では、ボタンを押した後、ユーザーは` Scene` 2に移動します。 それから Scene 1に戻った後、他のレイヤーのすべてのムービークリップはnullです。

これは「Scene」1に行く私のコードです:

MovieClip(this.root).gotoAndStop(1, "Scene 1");

なぜ???

  0  0


ベストアンサー

コードにタイムラインインスタンスへの参照があり、シーンを変更すると、参照が失われます。 シーンを離れるとシーンのインスタンスも削除され、再度入力すると再作成されます。

シーンをまったく使用せず、Flashファイルのドキュメントクラスの使用を検討することをお勧めします。 たぶん、あなたはすでにそれを持っています。

それでもシーンを使用する場合は、各シーンの最初のフレームにinit関数を配置します。 これにより、シーン参照を簡単にセットアップできます。

1


シーンとドキュメントクラスの両方を持つことができます。残念ながら、それを行う方法が十分にドキュメント化されていません。 ここで何が起こっているのか、それをどのように解決するのかについての情報がhttp://www.developria.com/2010/04/combining-the-timeline-with-oo.htmlにあります。

子ムービークリップから親を参照するべきではないことに注意してください。_rootの使用は、AS2の日でも悪い習慣と見なされました(たとえば、ムービーを別のムービーにロードするとすぐに壊れます)。

代わりに、子クラスからイベントをディスパッチし、メインドキュメントでイベントをキャッチして、メインドキュメントに再生ヘッドを移動させます。

0


タイトルとURLをコピーしました