0

わかった

1ではScene、ユーザーがボタンを押した後、Scene2 に進みます。そこからScene1 に戻った後、他のレイヤーのすべてのムービー クリップは null です。

これはScene1になる私のコードです:

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

どうして???

4

2 に答える 2

1

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

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

それでもシーンを使用したい場合は、各シーンの最初のフレームに init 関数を配置します。これにより、シーン リファレンスの設定が簡単になります。

于 2011-09-21T11:17:19.060 に答える
0

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

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

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

于 2011-09-21T12:04:41.390 に答える