2016-08-23 74 views
0

我有以下代码工作完全内部的变量:AS3吐温阵列

updaterVariable = 0; 
    Tweener.addTween(this, {time:2, transition:"linear", updaterVariable:1000, onUpdate:tweenerUpdate}); 

我将得到updaterVariable的值从0到补间1000 2秒。我的问题是,是否有类似的方式补间的变量中的阵列,例如:

updaterVariable[10] = 0; 
    Tweener.addTween(this, {time:2, transition:"linear", updaterVariable[10]:1000, onUpdate:tweenerUpdate}); 

我试图上面的代码,它的不工作。谁能帮忙?

回答

1

你可以通过你的阵列的摇摆人,并使用索引字段来进行更改:

updaterVariable[10] = 0; 
Tweener.addTween(updaterVariable, {time:2, transition:"linear", '10':1000, onUpdate:tweenerUpdate}); 

不知道该中间人您使用的,但是它的工作原理与TweenMax:

private var arr:Array; 
public function Main() { 
    arr = []; 
    arr.push(0); 
    arr.push(0); 
    arr.push(t); 
    TweenMax.to(arr, 1000, { '2' : 1000 }); 
    addEventListener(Event.ENTER_FRAME, onframe); 
} 
private function onframe(e:Event):void { 
    trace(arr[2]);//outputs expected numbers 
} 
+0

谢谢你的答案。但是如果我把一个像“i”这样的变量放置在“10”的位置,它不会工作吗?有什么办法解决它? –

+0

因为我可能需要改变周围的值,并且不能将索引作为字符串传递。 –

+0

@AbhilashK,这取决于任务。你可以使用一个getter函数,比如'public function get i():int {return arr [10]; ''例如。问题是 - 为什么你需要使用一个数组进行补间,如果你知道你需要在特定索引处对一个变量进行补间? – www0z0k