メイン コーダーズルーム【スクリプト系】
[AS2.0]ダイナミックに生成したMCにイベントを割り当てる | 投稿するにはまず登録を |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | スレッド |
|---|---|
| admi-ky | Åê¹ÆNo.39307 投稿日時: 2008-6-26 11:07 |
新米 ![]() ![]() 居住地: 投稿: 11
使用環境:
|
[AS2.0]ダイナミックに生成したMCにイベントを割り当てる はじめまして
ダイナミックに生成したMCにイベントを割り当てる際に不具合が生じて、困っています。 初めての投稿ですので、言葉足らずの部分があるかも知れないですが、どなたかご回答いただければ幸いです。 MCは入れ子構造にしています。子のほうにxmlを使って写真をロードしていて、親のほうにマウスイベントを割り当てているのですが、そのイベントを実行しようとすると、getURL()等は動くのですが、他のインスタンスのプロパティーにアクセスできません。 以下にスクリプトをコピペしますので、どこに問題があるか、指摘していただければ助かります。 よろしくお願いします。 /*XMLの読み込み*/ var photo_list:Array = new Array(); var _xml:XML = new XML(); _xml.ignoreWhite = true; _xml.onLoad = function(success) { nodes = this.firstChild.childNodes; for (var i = 0; i<nodes.length; i++) { photo_list.push({thum:nodes[i].attributes.thum, photo:nodes[i].attributes.photo}); } createMS(); setPhotos(); xCreateMC(); setThumb(); yMove(); }; _xml.load("photos.xml"); /*空のMCを作成*/ var mc_array:Array = new Array(); var mc_array2:Array = new Array(); var mc_array0:Array = new Array(); var mc_array02:Array = new Array(); var mW:Number = 200; var mH:Number = 150; var photo_num:Number = 50; var c:Number = 0; var r:Number = 0; function xCreateMC():Void { for (var i = 0; i<=photo_num; i++) { wrapper.createEmptyMovieClip("thumbSet_mc"+i,wrapper.getNextHighestDepth()); mc_array[i] = eval("wrapper.thumbSet_mc"+i); mc_array[i]._x = mW*r; mc_array[i]._y = mH*c; mc_array[i].createEmptyMovieClip("thumbSet_s_mc"+i,mc_array[i].getNextHighestDepth()); mc_array2[i] = eval("wrapper.thumbSet_mc"+i+".thumbSet_s_mc"+i); mc_array2[i]._alpha = 50; mc_array[i].onRelease = function() { _root.mc_array0[i]._visible = true; }; r++; if (r == 4) { r = 0; c++; } } } /*空のMCにサムネイルをセット*/ function setThumb():Void { for (var i = 0; i<photo_num; i++) { mc_array2[i].loadMovie(photo_list[i].thum); } } /*サムネイルを包むMCのwrapperをマウスで動かす*/ var centerY:Number = Stage.height/2; function yMove():Void { var minY:Number = mc_array[photo_num - (4*3)]._y * -1; var maxY:Number = 0; if ((wrapper._y<maxY) && (_root._ymouse<_root.centerY-50)) { wrapper._y += (centerY-_root._ymouse)/7; } else if ((wrapper._y>minY) && (_root._ymouse>_root.centerY+50)) { wrapper._y += (centerY-_root._ymouse)/7; } if (wrapper._y>maxY) { wrapper._y = maxY; } else if (wrapper._y<minY) { wrapper._y = minY; } } /*メインステージ作成*/ function createMS():Void { for (var i = 0; i<photo_num; i++) { _root.createEmptyMovieClip("main_stage"+i,this.getNextHighestDepth()); mc_array0[i] = eval("main_stage"+i); mc_array0[i].createEmptyMovieClip("main_stage_s"+i,this.getNextHighestDepth()); mc_array02[i] = eval("main_stage"+i+"main_stage_s"+i); } } function setPhotos():Void { for (var i = 0; i<=photo_num; i++) { mc_array02[i].loadMovie(photo_list[i].photo); mc_array0[i]._visible = false; } } |
| フラット表示 | 前のトピック | 次のトピック |
| 題名 | 投稿者 | 日時 |
|---|---|---|
| » |
admi-ky | 2008-6-26 11:07 |
| |
gaienboy | 2008-6-26 11:34 |
| |
mayor | 2008-6-26 13:32 |
| |
admi-ky | 2008-6-26 14:34 |
| |
admi-ky | 2008-6-26 14:32 |
| |
Fumio | 2008-6-26 14:49 |
| |
admi-ky | 2008-6-26 15:03 |
| |
gaienboy | 2008-6-26 15:30 |
| |
admi-ky | 2008-6-26 15:45 |
| 投稿するにはまず登録を | |



ログイン


