トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     return functionへの引数の渡し方
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
Fumio
Åê¹ÆNo.46474
投稿日時: 2010-12-2 17:45
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: return functionへの引数の渡し方
第1に、問題を単純化すべきです。「原因を探」るために、インスタンス10個は要りませんし、フレームを移動する必要もないでしょう。

私の環境では、とくに問題なく変数「prevNum」の値が[出力]されます。なお、「リスナー関数が使う値を外から指定する」をご参照ください。
引用:
nacboxさんは書きました:
やろうとしていること:
画面内に複数のボタンがあり、それぞれインスタンス名が[Btn0]?[Btn9]の連番になっています。
...[中略]...
var prevNum:int = 1;

// for (var i:int = 0; i< 10; i++) {
for (var i:int = 0; i< 2; i++) {
	var iStr = String(i);
	this["Btn" + iStr].addEventListener(MouseEvent.CLICK , btnClick(i));
}

function btnClick(i_num:int) {
	return function (event:MouseEvent):void{
		var target : MovieClip = MovieClip( event.currentTarget );
		// target.gotoAndPlay("on");
		var prevStr = String(prevNum);
		// this["Btn" + prevStr ].gotoAndPlay("off");
		trace(i_num, prevNum);
		prevNum = i_num;
	}
}

このコードを走らせるとエラーになります。
いろいろコメントアウトしたりして原因を探ったところ、グローバル変数である「prevNum」には
function btnClick()内ではアクセスできるものの
return function()内ではアクセスできない、ということではないかと……。


----------------
 

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   return functionへの引数の渡し方 nacbox 2010-12-2 16:24
     Re: return functionへの引数の渡し方 mayor 2010-12-2 17:20
     Re: return functionへの引数の渡し方 Komatsu 2010-12-2 17:21
   » Re: return functionへの引数の渡し方 Fumio 2010-12-2 17:45
     Re: return functionへの引数の渡し方 coppepam 2010-12-2 17:53
       Re: return functionへの引数の渡し方 nacbox 2011-10-20 15:42

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops