1

Main.as には次のものがあります。

package  {

    import flash.display.MovieClip;

    public class Main extends MovieClip {

        public var damage:Number;

        public function Main() {
            // constructor code

            var char:Character = new Character();
            addChild(char);
        }
    }
}

Character.as という別のパッケージがあります。

package  {

    import flash.display.MovieClip; 

    public class Character extends MovieClip{

        public function Character() {
            trace(damage);
        }
    }
}

メインで設定したダメージをキャラクターと共有できるようにする必要があります。速度をよりグローバルにする方法はありますか?

4

2 に答える 2

2

ダメージをキャラクターのパブリック プロパティにしてみませんか。そうすれば、次のように Main クラスを介して簡単にアクセスできます。

char.damage = 100;
trace (char.damage);

これを行うには、次のようにプロパティを Character クラスに追加するだけです。

public class Character extends MovieClip {

    public var damage:Number;

    public function Character() {
        trace(damage);
    }
}

しかし、あなたのコメントを考えると、OOP の概念を適用するのではなく、すべてがグローバルで、どこからでもアクセスできるようにしたいのだと思います。

もしそうなら...次のように、メインクラスでパブリック静的として定義するだけです:

public static var damage:Number;

どこからでもアクセスするには、次のようにします。

Main.damage = 100; 
trace(Main.damage);
于 2013-10-06T21:52:21.333 に答える