君に翼を与えよう
最近、flashのタイムラインラベルについて理解したchomeoです。
「flash ラベル」をググるとは・・・。
flashをちょこちょことやっておるわけですが、今まであんまり理解してなかったモノがあります。
クラスの拡張って何ですのん?
簡単な例として、

四角形を作る時は、
var sikaku:Sprite = new Sprite();
sikaku.graphics.beginFill(0x000000, 0.7);
sikaku.graphics.drawRect(0, 0, 200, 100);
sikaku.graphics.endFill();

と書くわけでこれで、色:黒, アルファ:0.7, 幅200, 高さ100の四角形の準備ができました。
sikaku君を作る時は、いつも最初から書いていました。
2行以降は、
sikaku.graphics.beginFill(0x000000, 0.7);
sikaku.graphics.drawRect(0, 0, 200, 100);
sikaku.graphics.endFill();
四角形つくる上では固定でコードヒント出るにしても、
毎回毎回書くのは面倒。
package
{
public class RectSprite extends Sprite
{
public function RectSprite(color:int,alpha:int,width:int,height:int)
{
graphics.beginFill(color,alpha);
graphics.drawRect(0, 0, width, height)
graphics.endFill();
}
}
}
という、RectSpriteクラスを作ります。
public class RectSprite extends Sprite
で、私のベースはSpriteだよと言うてます。
public function RectSprite(color:int,alpha:int,width:int,height:int)
ここで、欲しいものをアピールしています。
色とアルファと幅と高さを教えてよ。
そしたら、四角形も作ってあげるからさ!!!
なんとやさしい。
var sikaku:RectSprite = new RectSprite(0x000000, 0.7, 200, 100);
と書くだけで、shikaku君はできました。
これで、四角形はどんどん量産できるわけですわ。

順調に作業が進んでいき、ふとRectSpriteをもってるモノに
ロールオーバーを持たせたくなってきました。
addEventListener(MouseEvent.ROLL_OVER, over);
addEventListener(MouseEvent.ROLL_OUT, out);
private function over(e:MouseEvent):void
{
alpha:0.5;
}
private function out(e:MouseEvent):void
{
alpha:1;
}

てな具合ですかね。
検証せずに書いてますが・・・。
今までは、必要なモノを1からずっと作っていたわけです。
3行書くだけでクラス作るのはなぁ・・・。
とか思ってましたが、3行減るだけで結構時間短縮になるんですね。
イベントクラスの拡張についてはちょっと怯えていますが、
ベースとなるものに、僕が欲しいものをどんどん追加していき、使いやすくしていく事なのかなと思いました。