参考变量AS3

时间:2012-07-07 07:51:04

标签: actionscript-3 flash

我正在尝试在Flash Professional CS6中创建一个引用变量的简单AS3代码。

示例:

var1:int = 1;
varref = "var1"; (this is the "reference" variable, but ofcourse this is not how it's done in as3)

if (var1 == 1)
{
varref = 50
}

如果运行它,它会尝试将当前“var1”的变量varref中的字符串变为“1”的int。我希望它引用变量,而不是它自己的变量。

如何做到这一点的一个简单例子会很棒。 (据我所知,可能需要一个对象,因此这种情况的简单对象示例会很棒。)

2 个答案:

答案 0 :(得分:0)

在AS3中,您可以引用基本类型(仅限类和对象)。

你可以通过做类似的事情来实现你想要的目标:

var var1:Object = { value:1 };
var varRef:Object = var1;

if(var1.value == 1) {
    varRef.value = 50;
}

trace(varRef.value); // outputs 50;
trace(var1.value); // outputs 50;

答案 1 :(得分:0)

我正在使用此类创建引用: https://github.com/turbosqel/as3SupportLib/blob/master/as3SupportLib/src/turbosqel/data/LVar.as

使用非常简单,例如:

public var item:String = "some str";
{...}
var ref:LVar = new LVar (this,"item");
trace(ref.value);// return : "some str"
trace("my ref is " + ref ); // return : my ref is some str
// You can always change this on runtime :
item = "new value";
trace(ref.value); // return : new value

同样的事情你可以用任何其他数据类型。