J'ai une fonction avec Enter_Frame en cours d'exécution et l'ai tween pendant la fonction. Je sais que vous pouvez utiliser object.y = object.y + 1 au lieu de TweenLite que j'utilise maintenant. Mais TweenLite donne le meilleur effet que je voulais. Mon problème est maintenant, je voulais enlever la fonction enter_frame quand elle ne se heurte pas. Mais quand j'ai tracé hitTestObject, il a comme une fraction de seconde où le résultat hitTestObject renvoie 'false'. Ainsi, l'interpolation ne peut pas vraiment finir en 1ère, et supprimer enter_frame en cours d'exécution alors que l'objet est encore en collision.Enter Frame ne détecte pas hitTestObject précisément lorsque tweenling
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]));
}
}
}
Thanx . Ça marche. Mais les animations s'affichent le mieux en condition Enter_Frame, donc je change le framerate à 0. Mais avec la condition 'CollisionsDetected' fonctionnant parfaitement, je pourrais réussir à exécuter une autre fonction après la fin de la collision. – Hwang