0

特定のソースからXMLファイルを読み取るフラッシュアプ​​リを作成しています。XMLファイルには最大5つのノードが含まれ、各ノードには名前、説明、および画像のURLが含まれています。

各ノードのデータを表すために、別のムービークリップ(URLから画像をロードするため)、短い動的テキストボックス(名前用)、および長い動的テキストボックス(説明用)を含むムービークリップを作成しました。

コードでは、私はそれらにアクセスすることができます-

new_mc.myname.text="テキスト"; new_mc.image_mc.loadMovie( "path_to_image");

これは、duplicateMovie()を使用し、インスタンス名「new_mc」を使用する限り問題ありません。

私の問題はループから始まります...

forループでXMLノードを読み取ることができるので、ムービークリップを動的に作成し、その中のすべてのオブジェクトにアクセスするだけだと思いました。

したがって、forループで-のようなインスタンスを作成しました

 myform.duplicateMovie("new_mc"+i,i)

しかし、インスタンス名= "new_mc"+iで作成されたムービーにアクセスできません

new_mc0、new_mc1、new_mc3、..のような新しく作成されたムービークリップインスタンスにアクセスするにはどうすればよいですか。

その中のオブジェクトにアクセスできるように?

あなたは十分な経験を持っているので、解決策はあなたにとって十分に単純かもしれませんが、私はここで助けを求めている初心者です:)

全てにおいて良い日!

4

1 に答える 1

0

AS2 で duplicateMovie() メソッドを使用したことはほとんどありませんが、それを選択した場合は、次のようにアクセスできます。

this["new_mc"+i];

それ以外の場合は、インスタンスを常に参照して、インスタンスをより適切に制御することをお勧めします。

var forms:Array = new Array();

for(...)
   forms[i] =  myform.duplicateMovie("new_mc"+i,i);

...

forms[2].myname.text = "hello";
  • まず、AS3 を使用することをお勧めしますが、まだ AS2 を使用している理由があるかもしれません...
  • 次に、AS2 でインスタンスを作成するには、ライブラリで MovieClip を定義し、attachMovie(); を使用する方がスムーズです。インスタンスを作成するメソッド。
于 2009-03-21T14:01:37.887 に答える