J'ai un objet qui pointe dans la direction d'un autre objet (c'est-à-dire qu'il tourne dans la direction où se trouvent les deuxièmes coordonnées x et y).faire lentement pivoter un objet vers un autre objet
var distx = target.x - x;
var disty = target.y - y;
var angle:Number = Math.atan2(disty, distx);
var vx:Number = Math.cos(angle) * cspeed;
var vy:Number = Math.sin(angle) * cspeed;
rotation = angle * 180/Math.PI;
x += vx;
y += vy;
comme vous pouvez le voir. Non seulement il tourne vers l'objet cible, mais il se déplace aussi vers lui. Lorsque je joue le film, l'objet pointe instantanément vers l'objet ciblé et se dirige vers celui-ci.
Je voudrais qu'il tourne lentement vers l'objet au lieu de tourner instantanément vers lui. Quelqu'un sait-il comment faire ça.
qui a réellement fonctionné parfait. Merci beaucoup – numerical25
heureux que cela fonctionne, juste être conscient de la question a souligné, cela se produirait lorsque l'objet est exactement 0 ou 180 degrés. Si vous suivez le trig là, ce qui finit par arriver est que la différence entre les deux positions y (qui sont exactement les mêmes à ce point) sera 0, et vous ne pouvez pas diviser par zéro. Donc, vous pourriez vouloir mettre une instruction if pour empêcher l'événement d'erreur de se produire – Daniel