Кажется, я вспомнил кое-что о передаче по ссылке и о классе Greensock 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 передается по ссылке, поэтому каждый экземпляр анимации действительно ссылается на одно и то же значение. Я что-то пропустил? Или мне нужно какое-то закрытие, чтобы изолировать область значения моего свойства анимации движения?
EDIT
Предложение закрыть этот вопрос, поскольку я предполагаю, что ответ "Нет", и проблема была в другом месте в моем коде. Я сомневаюсь, что любое дальнейшее изложение проблемы будет иметь отношение к другим. Спасибо тем, кто откликнулся!