SimpleButton – AS

Flashで使うボタンの話。

ゲームを作る時なんかはボタンがたくさん必要だったりします。
(ボタンが多すぎるゲームは避けるべきで、なにか工夫が必要だとは思いますが;)
ステージ内にボタンを置きたい時は、MovieClipをボタンとして扱ったり、FlashのUIコンポーネントパネルのやつをそのまま使ったりしてました。CS3だとfl.controls.Buttonクラスで制御できます。

あと、地味だけど知ってると便利なflash.display.SimpleButtonクラスでもボタンを作れます。

var btn:SimpleButton = new SimpleButton();
btn.upState = drawCircle();
btn.overState = drawCircle(0xFFFF00);
btn.downState = drawCircle(0x0000FF, 30);
btn.hitTestState = btn.upState;
this.addChild(btn);

/* ボタンの外観、ここでは円の形 */
private function drawCircle(color:uint = 0x00FF00, radius:int = 20):Shape {
 var shape:Shape = new Shape();
 shape.graphics.beginFill(color);
 shape.graphics.drawCircle(0, 0, radius);
 return shape;
}

アップ、オーバー、ダウン、ヒットテスト時の外観もそれぞれ指定できます。
継承は、
 SimpleButton→InteractiveObject→DisplayObject→EventDispatcher→Object
となっていて、シンプルというだけありSpriteよりも一階層継承が浅くなっています。
簡単なデモでボタンが必要な場合は、SimpleButtonクラスでさくっと作ると手軽です。

 

Tags: ,

Comments

No comments so far.

  • Leave a Reply
     
    Your gravatar
    Your Name