ドキュメントクラスの作成を見てみましょう。
ステップ1:パッケージの宣言-パッケージは、.flaを基準にしてドキュメントクラスが格納される場所を表します。ドキュメントクラスが.flaと同じディレクトリにある場合は、次のように記述する必要があります。
package
フォルダ内にある場合は、の後に追加する必要がありますpackage
。ドキュメントクラスが次のディレクトリにあるとしましょうsrc
:
package src
これでソートされたので、次のようになります。
package
{
//
}
次に行う必要があるのは、ドキュメントクラスで使用する必要のあるクラスをインポートすることです。MovieClip
ドキュメントクラスで拡張する必要があるので、それをインポートしましょう。
package
{
import flash.display.MovieClip;
}
例を説明するために必要なのはこれだけです。次に、必要な3番目の要素であるクラス宣言に移ります。この場合、次の3つの部分で構成されます。
- クラスの名前空間-
internal
(同じパッケージ内のクラスからのみクラスにアクセスできるようにする場合)またはpublic
(プロジェクト内のどこからでもアクセスできるようにする場合)のいずれかになります。
- あなたのクラス名。
- クラスが拡張するもの-この場合はMovieClip。
全体として、あなたは次のようになります。
public class Document extends MovieClip
これで、次のようなものになります。つまり、追加を開始しproperties
てmethods
:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
//
}
}
最初にやりたいことはconstructor
、クラスのを作成することです。コンストラクターは、このクラスのインスタンスが作成されたとき、またはあなたの場合はドキュメントクラスであるときにすぐに呼び出されます。
コンストラクターは、それを含むクラスと同じ名前のメソッドを作成することによって定義されます。コンストラクターもそうpublic
である必要があり、何も返さない必要があります。空のコンストラクターを使用した新しいコードは次のとおりです。
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// Constructor
public function Document()
{
//
}
}
}
次のステップは、クラスに属するプロパティを作成することです。あなたの例では、を使用strGlobal:String
したので、それを追加しましょう。プロパティは通常、クラス宣言のすぐ下、コンストラクターの上に属します。プロパティは4つの部分で構成されています。
- 名前空間-これにより、プロパティのアクセシビリティが決まります。これを省略すると、デフォルトはになります
internal
。今のところ、これらは基本です:
public
-プロパティは、クラスのインスタンスを参照している場所からアクセスできます。
private
-プロパティにはクラス内からのみアクセスできます-これは最初は役に立たないように見えますが、最終的には主にこれを使用することになります。
protected
-プロパティは、クラスを拡張するクラスでアクセスできます。
internal
-同じパッケージに含まれるクラスからプロパティにアクセスできます。
- あなたのプロパティ名。
- プロパティタイプ。
- あなたのプロパティ値。
あなたの場合、strGlobal
は次のようになります。
public var strGlobal:String = "Global";
それをドキュメントクラスに追加しましょう。
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// Properties
public var strGlobal:String = "Global";
// Constructor
public function Document()
{
//
}
}
}
次に、質問に従ってメソッドを作成しますscopeTest()
。メソッドは5つの部分で構成されています。
- 名前空間-メソッドはプロパティと同じ名前空間を使用します(上記を参照)。
- メソッド名。
- メソッド引数。
- リターンタイプ。
- コンテンツ。
scopeTest()
引数がなく、何も返さないため、次のようになります。
public function scopeTest():void
{
trace(strGlobal);
}
メソッドは通常、コンストラクターの下のどこかに属しているので、ここでスロットに入れましょう。
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// Properties
public var strGlobal:String = "Global";
// Constructor
public function Document()
{
//
}
// Output the value of strGlobal
public function scopeTest():void
{
trace(strGlobal);
}
}
}
scopeTest()
すべての準備が整ったので、コンストラクター内から呼び出すことができます。コンストラクターはすぐに呼び出されるため、Global
出力パネルに印刷されたものが表示されます(Flash IDE内でコンストラクターに正しくリンクされていると仮定します)。
お役に立てれば。