基本のクラスを作って汎用化するの派生で基本となるボタンもつくる。
ボタンを作る度にクリック動作やロールオーバーの動作を書いてたんじゃ、めんどくてしょーがない。
アクションを統一出来るところはクラス化しましょってことです。
「基本のクラスを作って汎用化する」で作ったAbstractSpriteを使う。
ディレクトリ構造は以下とする。
![folder-[更新済み] folder-[更新済み]](http://dropkicker-co.org/wp/wp-content/uploads/2009/08/e2bc08c0af152633f079a290a1bcacaf.jpg)
package abstracts.buttons{ import abstracts.objects.AbstractSprite; import flash.events.MouseEvent; public class AbstractButton extends AbstractSprite { public function AbstractButton() { super(); addEventListener(MouseEvent.CLICK,_click); addEventListener(MouseEvent.ROLL_OUT,_out); addEventListener(MouseEvent.ROLL_OVER,_over); buttonMode=true; } private function _click(e:MouseEvent):void { click(); } private function _out(e:MouseEvent):void { out(); } private function _over(e:MouseEvent):void { over(); } protected function click():void {} protected function over():void {} protected function out():void {} } }
package { import abstracts.buttons.AbstractButton; public class Button extends AbstractButton { public function Button(){ super(); } protected override function click():void{ trace("clickです。"); } protected override function over():void{ trace("overです。"); } protected override function out():void{ trace("outです。"); } } }
package { import abstracts.objects.AbstractSprite; public class Main extends AbstractSprite { public function Main () { super(); } } }