Actionscript:从另一个类的函数中找不到变量

时间:2013-04-06 13:46:13

标签: actionscript-3 class variables actionscript global-variables

我试过

trace(classname.functionname.variablename);
//or
trace(classname.functionname().variablename);

没有工作..任何想法,从classname.as变量获取,这是在一个函数内? 顺便说一句,我尝试使功能静态,仍然无法正常工作 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

没有办法,因为在函数内部定义的那些变量只有在执行函数时才会存在,并且在函数体的return或结束时消失。为了从函数中获得您想要的任何值,在函数外部创建一个类变量,在该函数中为其分配所需的值,并从其他地方处理它。

class test {
public static var foo:Number;
function bar():void {
    // ... some code
    foo=baz*2.54;
    // ... more code
}
}
class elsewhere {
    ...
    trace(test.foo);
    ...
}

答案 1 :(得分:0)

在函数内创建的变量仅在该函数的范围内可用。 如果变量是类成员变量(在类上声明为public);

public class x {
 public var varName:String="";
}

您将能够以

的形式访问它们
classInstanceRef.varName

不用说,您需要从该类实例化一个实例。

除非您的变量在类

上声明为static
public static varName:String="";

在这种情况下,您可以使用

访问它
className.varName;