-1

如何在 2 个 actionscript3 文件 (.as) 之间传递变量?

我有一个主要的 fla 文件和 3 个作为文件,每个都有一个类...我在 AS2 中有一个基本的 knownelge,但在 AS3 中没有太多

感谢帮助。

4

2 回答 2

1

您似乎正试图从 Flash 中的任何位置访问一些变量。一种方法是使用静态方法和变量创建一些类。例如:

package somenamespace {

    class Registry {

        static private var something_:String;

        public function get something():String {
            return something_;
        }


        public function set something(v:String):void {
            if (something_ === v) return;
            something_ = v;
        }

    }

}

然后您可以从 Flash 中的任何位置访问此变量:

Registry.something = "example";
于 2012-04-19T14:09:34.300 回答
0

在类之间传递数据的正确方法是通过引用传递。这比在全局范围内维护数据要好,因为它允许您解耦您的类。

如果没有看到你的类和你试图传递的数据,很难给你具体的建议,但这里有一个使用文档类 (Main.as) 和子类 (Child.as) 的简单示例:

主要作为:

package {
    class Main extends MovieClip
    {
        private var someData:String;
        //constructor
        function Main()
        {
            //create the data
            someData = "my string";

            //create an instance of child
            var child:Child = new Child(someData);
        }
    }
}

孩子.as:

package {
    class Child
    {
        private var someData:String;
        //constructor
        function Child(initData:String)
        {
            someData = initData;
            trace(someData); // my string
        }
    }
}

听起来在您的情况下,您需要一个控制器类来实例化您拥有的类并管理它们之间的关系。这将是上面 Main 类的变体,实例化所有三个类并提取和传递它们的数据。

于 2012-04-19T14:09:17.717 回答