Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我是否需要一个闭包来让这个TweenLite示例按预期工作?_Actionscript 3_Scope_Gsap - Fatal编程技术网

Actionscript 3 我是否需要一个闭包来让这个TweenLite示例按预期工作?

Actionscript 3 我是否需要一个闭包来让这个TweenLite示例按预期工作?,actionscript-3,scope,gsap,Actionscript 3,Scope,Gsap,我似乎还记得一些关于通过引用传递和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

我似乎还记得一些关于通过引用传递和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对于tween的所有实例都是一样的

我唯一想到的是newPosY是通过引用传递的,因此tween的每个实例实际上都引用了相同的值。我错过什么了吗?或者我需要某种闭包来隔离tween属性值的范围吗

编辑


建议关闭这个问题,因为我猜答案是否定的,而这个问题在我的代码中的其他地方。我怀疑对这个问题的任何进一步阐述是否与其他人有关。感谢那些回应的人

我认为你的TweenLite语法是错误的。尝试:

TweenLite.to (item, ITEM_DROP_TIME, { y: newPosY } );

很抱歉,我无法复制该问题。你能为你的问题增加更多的背景吗?此代码段中的任何内容都不会阻止代码按预期工作。@joncys谢谢,你是对的。你确认我的TweenLite调用是正确的,这迫使我查看代码的其他部分,我发现我在稍后的阶段用另一个tween超越了tween。谢谢你的回复!to只返回一个新的TweenLitetarget、duration、vars实例。这不可能是问题所在。真正的问题一定是在发布的代码范围之外。谢谢@James。这两种语法都工作得很好。.to方法是它以前的工作方式,并且仍然保持兼容性。