外部ASファイルとしてクラスを作成して、newで呼び出すことでオブジェクトを生成できる。また元々あるMovieClipクラスなどの機能を継承(extends)して、新たな機能を持つカスタムクラスを作ることも可能。
パーツをそれぞれの下請け工場で作って、本社工場でそれらを組み立てて自動車として完成させるイメージでいいのかな?
書き方としてpackageでまとめて、public記述で外部から参照できるクラス・メソッドを作る。
下の例ではMovieClipクラスを元にmyMovieClipというカスタムクラスを作ることで、flaファイルの方でnew→addChildすると楕円(Ellipse)が描かれます。
▼myMovieClip.as
package {
import flash.display.MovieClip;
public class myMovieClip extends MovieClip {
public function myMovieClip() {
this.graphics.lineStyle(10,0x000000);
this.graphics.beginFill(0xcccccc);
this.graphics.drawEllipse(100,100,300,150);
}
}
}
▼.fla
var doImg:myMovieClip = new myMovieClip(); addChild(doImg);