パッケージの操作

パッケージとは、クラスファイルを含むディレクトリで、所定のクラスパスディレクトリ内に存在します。たとえば、flash.filters package はハードディスク上のディレクトリで、Flash 8 の各フィルタタイプ (BevelFilter、BlurFilter、DropShadowFilter など) に対応するいくつかのクラスファイルが入っています。

メモ

 

import ステートメントを使用するには、FLA ファイルの [パブリッシュ設定] ダイアログボックスの [Flash] タブで、ActionScript 2.0、および Flash Player 6 以降を指定する必要があります。

import ステートメントを使用すると、完全修飾名を指定しなくてもクラスにアクセスできるようになります。たとえば、スクリプト内で BlurFilter クラスを使用する場合、このクラスを完全修飾名 (flash.filters.BlurFilter) で参照するか、import で読み込む必要があります。import で読み込んでおくと、クラス名 (BlurFilter) での参照が可能になります。次の ActionScript コードでは、import ステートメントを使用する場合と完全修飾クラス名を使用する場合の違いを示します。

import ステートメントを使用して BlurFilter クラスを読み込まない場合、フィルタを使用するには、完全修飾名 (パッケージ名にクラス名を続けたもの) を使用する必要があります。

// import ステートメントを使わない場合 
var myBlur:flash.filters.BlurFilter = new flash.filters.BlurFilter(10, 10, 3); 

同じコードで import ステートメントを使用すると、クラス名だけで BlurFilter にアクセスできるようになり、完全修飾名を使用する必要がなくなります。これにより、入力作業を節約でき、タイプミスも減ります。

// import ステートメントを使う場合 
import flash.filters.BlurFilter; 
var myBlur:BlurFilter = new BlurFilter(10, 10, 3);

パッケージ内の複数のクラス (BlurFilter、DropShadowFilter、GlowFilter など) を読み込むには、2 つの方法があります。複数のクラスを読み込む方法の 1 つは、次のコードのように、クラスごとに個別の import ステートメントで読み込むことです。

import flash.filters.BlurFilter;
import flash.filters.DropShadowFilter;
import flash.filters.GlowFilter;

パッケージ内のクラスごとに個別の import ステートメントを使用すると、時間がかかり、タイプミスも発生しやすくなります。パッケージ内の複数のクラスを読み込む 2 つ目の方法は、ワイルドカードを使用して、パッケージの特定のレベルにあるすべてのクラスを読み込むことです。次の ActionScript コードは、ワイルドカード文字を使用した import ステートメントの例を示します。

import flash.filters.*; // flash.filters パッケージ内の各クラスを読み込む

import ステートメントは、それを呼び出している現在のスクリプト (フレームまたはオブジェクト) にのみ適用されます。たとえば、macr.util パッケージのすべてのクラスを Flash ドキュメントのフレーム 1 に読み込んだと仮定します。そのフレームでは、そのパッケージ内のクラスを、完全修飾クラス名ではなくクラス名で参照できます。ただし、他のフレームのスクリプトでは、そのパッケージのクラスを完全修飾名で参照するか、そのパッケージのクラスを読み込む import ステートメントを追加する必要があります。

import ステートメントを使用するときは、指定したレベルのクラスだけが読み込まれることにも注意してください。たとえば、mx.transitions パッケージ内のすべてのクラスを読み込む場合は、/transitions/ ディレクトリにあるクラスだけが読み込まれます。mx.transitions.easing パッケージ内のクラスなど、サブディレクトリにあるクラスは読み込まれません。

ヒント

 

読み込んだクラスがスクリプト内で使用されなかった場合、そのクラスは SWF ファイルには出力されません。したがって、SWF ファイルのサイズを気にすることなく、大きなパッケージを読み込むことができます。クラスに関連付けられたバイトコードは、それが実際に使用された場合にのみ、SWF ファイルに含まれます。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000769.html