0

まず、クラスを「呼び出す」または「開始する」方法を理解していません。私はクラス無知です。

2 つの .fla ファイルがあります。私の .fla ファイルの 1 つは、15 個以上の .as ファイルで構成されています。これを 1 つの XML エディターと呼びます。もう 1 つの .fla ファイルは、10 個以上の .as ファイルで構成されています。これをインターフェースと呼びます。

xmleditor.swf は、interface.swf をロードします。xmleditor.swf 内にログイン画面が表示され、エンドユーザーは「ユーザー」または「管理者」としてログインします。「user」または「admin」は、「userType」というパブリック変数に格納されます。userType 変数は、Login.as と呼ばれる多数の xmleditor.fla .as ファイルの 1 つに作成されます。

ログインすると、xmleditor は interface.swf をロードします。interface.fla は 10 個以上の .as ファイルを使用します。1 つは nodeNames.as と呼ばれ、次のような nodeNames.as に if ステートメントが必要です。

if (Login.userType == "user"){
     trace("do something");
}

次の FlashVars.as ファイルがありますが、それを機能させるための手順がわかりません。

package extras.utils {
    import flash.display.Sprite;
    import flash.display.LoaderInfo;
    /* In AS3, we need to have a display object on the stage to access FlashVars
         * this class can be used once, and then referenced from anywhere as 
         * FlashVars.data.variableName
        */  
    public class FlashVars extends Sprite {
        public static var data:Object;

        public function FlashVars() { }

        public function load():void { //Only needs to be called once
            data = this.root.loaderInfo.parameters;
        }       

    }
}

この FlashVars を使用する必要がありますか? もしそうなら、どのように?

または、変数にアクセスする簡単な方法はありますか?

4

1 に答える 1

0

まあ、私が理解していることから、Login.as はクラスです。次に、Login.userType 変数にアクセスする 2 つの方法があります。 で呼び出すことができるようにする 場合は、クラスで静的Login.userTypeにする必要があります。

public static var userType:String

Login.userTypeログインをインポートする限り、アプリケーションのどこからでもアクセスできます。

しかし、特に異なるクラスからの静的変数がアプリに多すぎることは、悪い習慣と見なされることがよくあります。そのため、必要なものとともに、ログイン クラスのインスタンスをアプリのどこかにある変数に格納することをお勧めします。

var myLogin = new Login();
myLogin.userType = 'value';

ただし、この方法では、すべてnew Login()が独自の異なる userType を持つため、myLogin を必要とするすべてのオブジェクトに渡す必要があることに注意してください。

オブジェクト プログラミングは混乱を招く可能性がありますが、非常に強力です。ここですべてを説明することはできないため、(本や Web で) 読むことをお勧めします。

楽しむ!

于 2010-07-25T10:24:52.713 に答える