SimpleButton クラス

マウスイベントの続きということで、遅ればせながら SimpleButton クラス (livedocs@lab) の説明です。

SimpleButton クラス

SimpleButton は InteractiveObject のサブクラスで、マウスの操作に応じてボタンらしく振舞うことができます。 Flash オーサリングツールでボタンシンボルを作成すると4つのフレームができますが、SimpleButton にもそれぞれのフレームに対応したプロパティが存在します。

public upState : DisplayObject        // アップ(通常)の状態の表示オブジェクト
public overState : DisplayObject      //(マウス)オーバーの状態の表示オブジェクト
public downState : DisplayObject      //(マウス)ダウンの状態の表示オブジェクト
public hitTestState : DisplayObject   // ヒットテスト用のオブジェクト

以上の4つのプロパティに対応するマウス操作の状態それぞれに対して、意図された表示を実現する DisplayObject を設定するのが SimpleButton の基本的な使用方法です。

var myButton:SimpleButton = new SimpleButton();
// 各ステート用のオブジェクトを作成(今回は一つの Shape を共有)
var stateShape:Shape = new Shape();
stateShape.graphics.lineStyle(2, 0x202020);
stateShape.graphics.beginFill(0xFF0000);
stateShape.graphics.drawRect(10, 10, 50, 50);
// ボタンオブジェクトのプロパティを設定
myButton.upState = stateShape;
myButton.downState = stateShape;
myButton.overState = stateShape;
myButton.hitTestState = stateShape;

SimpleButton にはその他に以下のプロパティがあります。

public trackAsMenu : Boolean       // メニューのような使い方をするか
public enabled : Boolean           // ボタンを有効にするか
public useHandCursor : Boolean     // カーソルの形状を手の形にするか

trackAsMenu は他の場所でマウスが押された場合でも click イベントを受け取りたい場合に使用します。通常 click イベントは同一オブジェクト上でマウスを押す/放すという行為をしないとディスパッチされませんが、trackAsMenu を true にしておくと、他のオブジェクト上でマウスを押してそのまま移動してある SimpleButton オブジェクト上でマウスを放した場合にも、その SimpleButton オブジェクトに click イベントがディスパッチされます。メニューを作るときに使いそうな機能ですね。

enabled プロパティはボタンの有効/無効を切り替えます。enabled を false に設定すると、実際マウスを操作しても見た目上は反応しなくなります。ただし、イベントはディスパッチされるようです。

useHandCursor プロパティはデフォルトが true です。通常は特に気にする必要はなさそうです。

コメントする

2014年1月

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
レンタルサーバー

月別 アーカイブ

Powered by Movable Type 4.261