如何在2个actionscript3文件(.as)之间传递变量?
我有一个主fla文件和3个文件,每个类都有一个... 我在AS2中有一个基本的知识,但在AS3中没有太多知识
感谢您的帮助。
答案 0 :(得分: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";
答案 1 :(得分:0)
在类之间传递数据的正确方法是通过引用传递它。这比使用全局范围维护数据更好,因为它允许您解耦类。
如果没有看到您尝试传递的类和数据,很难给出具体的建议,但这是一个使用文档类(Main.as)和子类(Child.as)的简单示例:
Main.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);
}
}
}
Child.as:
package {
class Child
{
private var someData:String;
//constructor
function Child(initData:String)
{
someData = initData;
trace(someData); // my string
}
}
}
在您的情况下,您需要一个控制器类来实例化您拥有的类并管理它们之间的关系。这将是上面Main类的变体,实例化所有三个类并提取和传递它们的数据。