【问题标题】:reference variable AS3参考变量 AS3
【发布时间】:2012-07-07 07:51:03
【问题描述】:

我正在尝试在 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 中的字符串转换为 int 的“1”。我希望它引用该变量,而不是它自己的变量。

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

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    我正在使用这个类来创建引用: 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
    

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

    【讨论】:

      【解决方案2】:

      在 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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-17
        • 1970-01-01
        • 2011-10-27
        • 1970-01-01
        相关资源
        最近更新 更多