« 4.1 クラスを使う(1)トップレベルにあるクラス | メイン | 5.1イベントリスナー登録とイベントハンドラ(1) »

4.1 クラスを使う (2)パッケージとインポート

■パッケージとインポート
コアクラスではないクラスを利用するためには、クラス定義ファイルの所在をFlashが知るためにimportを使ってそのクラスパスを教えてあげる必要があります。クラスファイルが格納されているパスはパッケージとして提供されているので、クラスパスは「パッケージ.クラス名」になります。

書式:
import パッケージ.クラス名

[:note:]
クラスパスはビルドパスまたはソースパスと呼ばれることもあります。

パッケージとはクラスファイルが保存されているフォルダまでのパスのことです。クラスパスの検索開始となるベースパスは環境設定のActionScriptのクラスパス設定であらかじめ設定してあります。そこで、importではそこからのファイルパスを指定します。
たとえば、Spriteクラスのパッケージはflash.displayなので、クラスパスはflash.display.Spriteになります。したがって、Spriteクラスを利用する前にflash.display.Spriteをimportしておきます。クラスが何というパッケージに含まれているかは、FlashヘルプやFlashのアクションウインドウの左のリストで確認できます。

例:Spriteクラスをインポートして使う
import flash.display.Sprite;
var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0xFFCC00);
mySprite.graphics.drawCircle(100, 80, 40);
addChild(mySprite);

flash.displayパッケージにはSpriteクラスのほかにもLoader、MovieClip、Shape、Stageなどの多くのクラスが含まれています。そこで同じパッケージに含まれているクラスを1回でインポートできるように*を使ってクラスパスを示すことができます。ただし、*で省略できるのはクラス名だけでありflash.*のようにパッケージ名の途中から以下を省略することはできません。

書式:
import パッケージ.*
例:flash.displayパッケージに含まれているクラスを利用可能にする
import flash.display.*;

■フレームアクションでのパッケージのインポート
フレームアクションでは、よく利用するパッケージは自動的に読み込まれるようにしてあり、これに含まれているクラスはインポートしなくても利用できます。自動的に読み込まれるパッケージはアプリケーションフォルダ内のConfigration/ActionScript 3.0/implicitImports.xmlに記述されています。これに含まれていないパッケージのクラスを利用する場合には、フレームアクションにおいてもパッケージのインポートが必要になります。

フレームアクションで自動的にインポートされるパッケージ
adobe.utils.*
flash.accessibility.*
flash.display.*
flash.errors.*
flash.events.*
flash.external.*
flash.filters.*
flash.geom.*
flash.media.*
flash.net.*
flash.printing.*
flash.system.*
flash.text.*
flash.ui.*
flash.utils.*
flash.xml.*

[:note:]
AS2.0まではフレームアクションごとにインポートする必要がありましたが、AS3.0からは同じタイムラインのフレームアクションならば1度インポートすれば2度インポートする必要はありません。

About

2007年7月19日 08:29に投稿されたエントリーのページです。

ひとつ前の投稿は「4.1 クラスを使う(1)トップレベルにあるクラス」です。

次の投稿は「5.1イベントリスナー登録とイベントハンドラ(1)」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。