猪木さいと参照
こんな感じで記述すれば引数は問題なく渡せる模様。ボクも目出たく解決できました。
[sourcecode language=”java”]
_btn.addEventListener(MouseEvent.CLICK , clickHandler(mySprite));
function clickHandler(mspr:Sprite):Function
{
return function ():void
{
//クリックされた時の処理
}
}
[/sourcecode]
こうすることで関数内のmsprがmySpriteを指すことになるので、引数として扱えるようです。書籍の類いでは見たことない書き方で目から鱗。
さらに下記のようにすれば、イベントプロパティも受け取ることができる模様です。
[sourcecode language=”java”]
_btn.addEventListener(MouseEvent.CLICK , clickHandler(mySprite));
function clickHandler(mspr:Sprite):Function
{
return function (e:MouseEvent):void
{
//クリックされた時の処理
}
}
[/sourcecode]
さらにapeirophobiaさんではこんな感じ
http://blog.img8.com/archives/2008/04/003758.html
[sourcecode language=”java”]
bt3.addEventListener(flash.events.MouseEvent.CLICK,onClick3("baka"));
function onClick3(str:String) {
return function (e:MouseEvent):void{;
trace("str",str);
trace(e.target.name);
} ;
}
[/sourcecode]
これ便利そうだから取り入れる
[sourcecode language=”java”]
bt5.addEventListener(flash.events.MouseEvent.CLICK,onClick5("dog","brown"));
bt6.addEventListener(flash.events.MouseEvent.CLICK,onClick5("cat","white"));
function onClick5(…args):Function
{
return function (e:MouseEvent):void{
if(args[0]=="dog")
{
trace("dog");//犬の処理
}
else if(args[0]=="cat")
{
trace("cat");//猫の処理
}
} ;
}
[/sourcecode]