【问题标题】:ActionScript - Trace Update Value from TweenerActionScript - 从 Tweener 跟踪更新值
【发布时间】:2011-04-12 09:40:58
【问题描述】:

补间时传递参数时,补间不会更新 myValue。为什么?

public var myValue:Number = 0.0;

Tweener.addTween(this, {myValue: 1.0, time: 2.0, onUpdate: traceValue, onUpdateParams: [myValue]});

private function traceValue(value:Number):void
    {
    trace(value);
    }

【问题讨论】:

    标签: actionscript-3 tweener


    【解决方案1】:

    原始值在 ActionScript 中始终按值传递,而不是通过引用传递。 Tweener 正在更新您的值,但传递给 traceValue 的始终是原始值。因此,在您上面的代码中,它总是会追踪到 0。解决方案是传入对目标对象的引用,并每次读取该值。如果您传入字段名称,则可以动态完成,以获得最大的灵活性。例如:

    public var myValue:Number = 0.0;
    
    Tweener.addTween(this, {myValue: 1.0, time: 2.0, onUpdate: traceValue, onUpdateParams: [this, 'myValue']});
    
    private function traceValue(target:Object, field:String):void
    {
        trace(target[field]);
    }
    

    【讨论】:

    • 啊当然!现在这很有意义。谢谢泰勒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    相关资源
    最近更新 更多