
for (i = 1; i < 53; i++)
{
this["pad"+i].onRelease = function()
{
trace("pad"+i);
};
}
pad1~pad52というインスタンス名のムービークリップを配置します。
ムービークリップを押したときに各番号をtraceしたいのですが、
すべて"pad53"という同じ結果(出力)になってしまいます。
よくよく考えてみるとそうなってしまうな・・・
というのはわかるのですが、どこをどのように変更すれば
よいのか思いつきません。。。
根本的に考え方が違うのでしょうか。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ActionScript 2.0(1.0) の場合は
ムービークリップのみならずボタンにも勝手なプロパティを与えることができます。
その性質(仕様)を使って
次のようにしても良いと思います。
-----------------------------------------------
for (i=1; i<53; i++)
{
this["pad"+i].num = i;
this["pad"+i].onRelease = function()
{
trace("pad"+this.num);
};
}
-----------------------------------------------
=== === === === === === ===
なお(大きなお世話だとは思いますがすみません。)
#1の方のスクリプトを
フレームに書く ActionScript 2.0 に翻訳すると次のようになります。
-----------------------------------------------
for (i=1; i<53; i++)
{
this["pad"+i].onRelease = createPrintTrace(i);
}
function createPrintTrace(x:Number):Function
{
return function ():Void
{
trace("pad"+x);
};
}
-----------------------------------------------
さらに ActionScript 1.0 に翻訳すると次のようになります。
-----------------------------------------------
for (i=1; i<53; i++)
{
this["pad"+i].onRelease = createPrintTrace(i);
}
function createPrintTrace(x)
{
return function ()
{
trace("pad"+x);
};
}
-----------------------------------------------
No.1
- 回答日時:
ひとつ関数を挟みましょう。
for (i = 1; i < 53; i++)
{
this["pad"+i].onRelease = createPrintTrace(i);
}
} // ... 上記の処理を含むメソッドの終わり
private static function createPrintTrace(x:int):Function {
return function():void {
trace("pad" + x);
};
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
-
VBAのコンボボックスの年月表示...
-
Adobe Flash Player
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0で、フォームから、別のフ...
-
【VB.NET】別Formのボタンが押...
-
DataTableの件数を取得したい
-
複数ボタンで指定のフレームに移動
-
「Me」を「Form1」にするとエラ...
-
CreateDialogについて
-
VB6.0のHideのバグ?
-
IBM Watson Text to Speechを始...
-
外部swfとして読み込ませると動...
-
インスタンスとポインタ
-
フォームの生成と破棄
-
ハンドルからインスタンス?を取...
-
フェードイン-(待機)-フェー...
-
Win32 API ウィンドウ
-
画像を一定時間ごとに切り替え...
-
ダミーウインドウ
-
カーソルを手に変更
-
Python でシャットダウンのコマ...
-
VBAユーザーホームテキストボッ...
-
変数に256文字以上のテキストを...
おすすめ情報