0

screenPage後で呼び出すために変数にアクセスできるようにする必要があります。複数のページを動的に作成しています。問題は、呼び出したときにscreenPage.startDrag();最後のページだけをドラッグすることです。名前に var を追加したり、すべての screenPages にコードからアクセスできるようにしたりするにはどうすればよいですか?

要するにコードは次のとおりです。

var screenPage:MovieClip;

for(var p = 1; daTotalPages >= p; p++)
{
    screenPage = new theFlagScreen();
}

動的 varを作成screenPageして、最後に 1 を追加し、次に 2 などをループに追加できますか?

4

2 に答える 2

3

配列を使用しないのはなぜですか?

var pages:Array = new Array;

for(var p = 1; daTotalPages >= p; p++)
{
   var screenPage:MovieClip = new theFlagScreen();
   pages.push(screenPage)
}

これで、すべてのインスタンスを含む配列ができました。

var myPage:MovieClip = pages[5] as MovieClip;
myPage.startDrag();

また、上記のコードは毎回インスタンスを作成していますが、その後、繰り返しごとに新しいインスタンスを作成し、それを保存したり表示リストに追加したりせずに同じ変数に割り当てるので....1回新しいものを作成すると、最後のものはガベージ コレクション用にマークされます。

結果は、それを参照する変数を持つ唯一のインスタンスであるため、作成した最後のインスタンスのみが存在します。

于 2013-05-02T04:47:55.487 に答える
1

screenPage1つのことだけを参照しています。あなたのループでは、それを上書きし続けるので、最後のインスタンスを指すことになりますtheFlagScreen...他のすべてのインスタンスは失われます。

プロトタイプのアドバイスに従い、これらのインスタンスを配列に格納して、それらを失わないようにする必要があります。

于 2013-05-02T04:49:13.630 に答える