WEB/システム/IT技術ブログ

TextFieldリンクにハンドカーソルをセットする

ActionScript3では、任意のMovieClipにリンクに設定した場合に、オーバー時にハンドカーソルになるように以下のように記述します。

var mc:MovieClip = new MovieClip();
mc.buttonMode = true;

同様にして、TextFieldにリンクを設定する場合ですが、テキストフィールドはbuttonModeの属性は持っていません。そこで、ハンドカーソルをセットしたムービークリップにテキストフィールドを追加します。

var mc:MovieClip = new MovieClip();
var tf:TextField = new TextField();
mc.buttonMode = true;
mc.addChild(tf);

ところがこれだけでは動作しないんです。つまづきました。。。

通常、テキストフィールドをオーバーするとテキスト選択するマウスカーソルになりますが、これが優先的に効いているのが原因のようです。そこで、子のマウス効果が無効になるようにmouseChildrenの設定を追加してあげます。

var mc:MovieClip = new MovieClip();
var tf:TextField = new TextField();
mc.buttonMode = true;
mc.mouseChildren = false;
mc.addChild(tf);

TextFieldは、alpha(アルファ)が効かないなど、AS3を利用する上では慎重に取り扱わないといけないようです。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives