我有一个运行 Enter_Frame 的函数,并在函数期间对其进行补间。我知道你可以使用 object.y=object.y + 1 而不是我现在使用的 TweenLite。但是 TweenLite 提供了我想要的最佳效果。我现在的问题是,当它不相互冲突时,我想删除 enter_frame 函数。但是当我跟踪hitTestObject 时,它就像一瞬间hitTestObject 结果返回'false'。所以补间不能真正完成第一次,并在对象仍在碰撞时提前删除 enter_frame 运行。
private function checkCollision (e:Event):void
{
//detect collision in array
for (var j:uint = 0; j < collisionArray.length - 1; j++)
{
for (var k:uint = j + 1; k < collisionArray.length; k++)
{
if (collisionArray[j].hitTestObject(collisionArray[k]))
{
//do something
TweenLite.to (objectA,0.2,{y:move2Y});
TweenLite.to (objectB,0.2,{y:move3Y});
}
trace (collisionArray[j].hitTestObject(collisionArray[k]));
}
}
}