よく忘れるのでメモ。
SpriteにTextFieldをaddChildしてSpriteのbuttonModeをtrueにしても、マウスオーバーしたときにカーソルが変わらないことがある。
そんなときはTextFieldのmouseEnabledをfalseにすればおk
サンプル
SpriteにTextFieldをaddChildしてSpriteのbuttonModeをtrueにしても、マウスオーバーしたときにカーソルが変わらないことがある。
そんなときはTextFieldのmouseEnabledをfalseにすればおk
サンプル
package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
[SWF(width="250", height="100", frameRate="12", backgroundColor="#000000")]
public class ButtonHandcursor extends Sprite {
public function ButtonHandcursor() {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var btn1:Sprite = new Sprite();
var btn2:Sprite = new Sprite();
var txt1:TextField = new TextField();
var txt2:TextField = new TextField();
var tf:TextFormat = new TextFormat("_ゴシック", 15, 0x00bbff);
txt1.defaultTextFormat = tf;
txt1.autoSize = TextFieldAutoSize.LEFT;
txt1.selectable = false;
txt1.text = "ハンドカーソルにならない";
btn1.buttonMode = true;
btn1.addChild(txt1);
addChild(btn1);
txt2.defaultTextFormat = tf;
txt2.autoSize = TextFieldAutoSize.LEFT;
txt2.selectable = false;
txt2.mouseEnabled = false; // これ
txt2.text = "ハンドカーソルになる";
btn2.buttonMode = true;
btn2.addChild(txt2);
addChild(btn2);
btn2.y = 50;
}
}
}




コメント (2)
この場合は
//txt2.mouseEnabled = false;
btn2.mouseChildren = false;
にしたほうがいいかもよ。
投稿者: 成田祐輔 | 2008年04月24日 02:26
日時: 2008年04月24日 02:26
> 成田さん
なるほどー
ありがとうございまーす
投稿者: ll_koba_ll | 2008年04月25日 15:32
日時: 2008年04月25日 15:32