このSwordHolderクラスをシングルトンにするのはいかがですか...これは良い候補のようです。
シングルトンは、おそらく最も簡単なデザインパターンです。アイデアは、このパターンに従うことによって、アプリケーション全体を通して作成されたクラスのインスタンスが1つだけ存在することを確認することです。
SharedObjectはその例です。新しいSharedObjectを使用してインスタンスを作成したりインスタンスを作成したりする前に、SharedObject.getLocal()またはgetRemote()を使用します。ここ
は大まかなアイデアです:
package yourcoolgame.assets{
import flash.display.MovieClip;
public class SwordHolder extends MovieClip{
private static var instance:SwordHolder;
public static function getInstance():SwordHolder {
if (instance == null) {
instance = new SwordHolder(new SingletonLock());
}
return instance;
}
public function SwordHolder(lock:SingletonLock):void {
if (lock == null) {
throw new Error("Error: Instantiation failed: Use SwordHolder.getInstance() instead of new.");
}
}
}
}
internal class SingletonLock {}
あなたは新しいを使用して作成し、インスタンスしようとすると、クラスが投げるとエラーする必要があります。 SwordHolderを使用してアプリケーションの任意の場所を作成してインスタンス化できます。getInstance() これは常に同じインスタンスへの参照になります。あなたは子供などを追加することができます
もしこれがあなたが必要以上であり、あなたがIDEを使用しているので簡単なものを探しているなら...別のシンボル(他の剣)を追加することができますそのクリップのフレームとラベルを使用すると、あなたのようなものがあります。
public function setSword(swordID:String):void{
this.gotoAndStop(swordID);
}
希望します。
あなたのSwordHolderがあなたのライブラリにある場合は、ライブラリ内のSwordHolderを編集することができます。その後、作成したすべてのSwordHolderインスタンスに加えられた変更が適用されます。 – David