プロが教えるわが家の防犯対策術!

var array:Array = new Array();
for (var i = 0; i<images.length; i++) {
array.push({src:images[i].firstChild.nodeValue});
}
mcLoader.loadClip(array[i].src, thisMC);

srcの使用方法について,どのような意味なんでしょうか?
構文などを調べてみても掲載させていませんでした.
array[i].srcでは,配列に格納された名前を取ってきているようですが,いまいち理解できません.配列以外の変数では変数の値の名前をsrcを利用して参照することは可能なのでしょうか?

A 回答 (1件)

例えば



 array = new Array();

とすると、配列変数 array が用意されます。
この時点では、array は空っぽです。


push は、配列変数の最後に要素を追加する命令(メソッドといいます)です。
先ほどのスクリプトの後に

 array.push( "ABC" );
 array.push( "あいうえお" );

とすると、array に要素が2つ追加されます。
中身は、

 array[ 0 ] → ABC
 array[ 1 ] → あいうえお

このようになります。


配列変数は、同じ名前で管理番号だけが違う、複数の変数が集まったものです。
配列変数では、1つ1つの変数(要素)に更に個別の要素を追加し、何種類もの情報を効率よく管理できるようになっています。
例えば

 array[ 0 ] = { x : 100 , y : 200 };

とすると、array[ 0 ] の中に更に x と y という名前の仕切りができて、

 array[ 0 ].x → 100
 array[ 0 ].y → 200

このように、同じ array[ 0 ] という名前の変数で2種類の情報を同時に管理できます。
先の push と合わせると、

 array.push( { x : 100 , y : 200 } );

という書き方になります。

仕切りの名前は、ActionScript の文法に則ってさえいれば、好きな名前を付けて構いません。
ご質問文の例ですと、配列変数 array に含まれるそれぞれの変数の中に、更に src という名前の仕切りが作られていることになります。
例えば、画像ファイルの名前が”sample1.jpg””photo.jpg”だとすると、

 array[ 0 ].src → sample.jpg
 array[ 1 ].src → photo.jpg

といった具合に格納されていきます。
” src ”は、HTML ではファイル名や画像等のURLを指定するキーワードとして有名です。
しかし今回の件に関して言いますと、ActionScript で何か決まった役割をするものとして定義されているキーワードや識別子ではありません。
このスクリプトでの src とは、スクリプトの作成者が勝手に付けた名前の1つです。ヘルプや解説書で説明されていないのは当たり前なのです。


おそらく、XMLで記述された画像ファイルのリストを解析した後、ファイル名だけを配列に格納して、for ループ等を利用して複数の画像を一気に読み込めるようにするための処理だと思います。
なお、配列変数で管理したい情報が、画像のファイル名1種類だけなら、

 for( i = 0 ; i < images.length ; i++ )
 {
  array.push( images[ i ].firstChild.nodeValue );
 }

(↑各行頭に全角のスペースが入っています。コピーして利用する際は、全て半角のスペースかタブに置き換えてください)

と、配列変数に含まれるそれぞれの変数内に仕切りを作らず、直接格納することもできます。
この場合、できた配列を元に画像を読み込む時は

 mcLoader.loadClip( array[ i ] , thisMC );

という書き方に変わりますので、ご注意ください。
    • good
    • 0
この回答へのお礼

さっそくの本当にお返事ありがとうございます.よくわかりました.てっきりsrcという言葉が予約語であると思っていたので,大変助かりました.また機会があればよろしくお願いいたします.本当にありがとうございました.

お礼日時:2005/05/26 11:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!