6月 11, 2009
AS3のボタンでのつまづき
さっそく、つまった。ボタンで。
AS2.0と同じ
_up、_over、_downでラベルを設定すれば、
ボタンシンボルと同じ挙動になる。
が、「押したら、_downに止まったままでボタン機能を停止する」
とオイラがよくやるが、どうしても_downに止まらず_upに戻っちゃう。
btn_1.addEventListener( MouseEvent.CLICK , SeyYes );
btn_1.buttonMode = true;
btn_1.mouseChildren = false;
function SeyYes( e:MouseEvent ):void{
trace("Yes");
btn_1.mouseEnabled = false;
btn_1.gotoAndStop("_down");
}
だめだ……と小一時間戦って
これで行けた。
btn_1.addEventListener( MouseEvent.MOUSE_DOWN , SeyYes );
btn_1.buttonMode = true;
btn_1.mouseChildren = false;
function SeyYes( e:MouseEvent ):void{
btn_1.mouseEnabled = false;
btn_1.buttonMode = false;
}
・MouseEvent.CLICKじゃなくてMouseEvent.MOUSE_DOWNで
・gotoAndStopじゃなくてbuttonModeでボタン機能を止める。
・カーソルは反応しなくなるが、登録したイベントはまだ有効なので、mouseEnabledで確実に。
[SWF]http://www.renowan.com/blog/flash/20090610_btn.swf, 250, 180[/SWF]