我似乎記得關於傳遞引用和Greensock TweenLite類的一些東西。這是我能想到的唯一的事情是造成代碼中不工作這一點,因爲我打算:我是否需要一個閉包來使TweenLite示例按需要工作?
for (var i = 0; i < 10; ++i) {
addItem();
}
public function addItem():MovieClip {
var item:MovieClip = getNewItem();
item.y = item.height/2;
var newPosY = _origHeight - _items.length * item.height;
_items.push(item);
new TweenLite(item, ITEM_DROP_TIME, { y: newPosY }); trace(newPosY);
addChild(item);
}
跟蹤正在輸出我期待值:遞增的順序,每個數字都是比上一次更大(按物品的高度)。但是,我在視覺上看到的是,所有項目都在同一位置(如果newPosY
對於所有補間實例都是相同的)。
想到的唯一情況是,newPosY被傳遞引用,所以補間的每個實例實際上都引用相同的值。我錯過了什麼嗎?還是我需要某種封閉來隔離我的補間屬性的價值範圍?
編輯
暗示這個問題來,因爲我想答案是「否」關閉,問題是在我的代碼的其他地方。我懷疑這個問題的任何進一步闡述都與其他問題有關。感謝那些迴應!
對不起,我無法複製該問題。你能爲你的問題增加更多的上下文嗎?這段代碼中沒有任何內容阻止代碼按預期工作。 – joncys
@joncys謝謝你,你是對的。確認我的TweenLite調用是正確的,迫使我查看我的代碼的其他部分,並且發現我在稍後階段與另一個補間進行了過渡。感謝您的答覆! –