ein Objekt bewegen, direkt auf einen Punkt und erreicht, Stoppt es
Wie kann ich mein Objekt erreicht, Stoppt der Zielort gab ich es mit meiner Maus klicken? Der code macht das Objekt bewegt sich in Richtung Punkt einer Maus klicken aber ich kann nicht scheinen, um herauszufinden, wie man es stoppen, denn es wird fast nie passieren das bestimmten Zielpunkt. :/Jemand, der weiß, wie man dies erreichen?
public function onMouseDown(evt:MouseEvent)
{
if (this._character != null)
{
_character.isMoving = false;
_character.dx = 0;
_character.dy = 0;
targetX = mouseX - _character.x;
targetY = mouseY - _character.y;
var angle:Number = Math.atan2(targetY,targetX);
var dx:Number = Math.cos(angle) * _character.speed;
var dy:Number = Math.sin(angle) * _character.speed;
_character.dx = dx;
_character.dy = dy;
_character.isMoving = true;
}
}
public function updateCharacter(e:Event):void
{
if (this._character.isMoving)
{
this._character.x += this._character.dx;
this._character.y += this._character.dy;
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese
Einfachste Weg, es zu tun wäre, um die Berechnung der Winkel an der Stelle, die Sie wollen, zu stoppen zu jeder Zeit, die Sie bewegen. Dieser Wert sollte der gleiche bleiben, wenn Sie in ein geraden Linie, bis Sie übergeben den Punkt, den Sie versuchen, zu stoppen an, an welcher Stelle es wird sich drastisch verändern.
Sobald dies geschieht, bewegen Sie einfach Ihr Objekt an die position, die Sie sollten angehalten haben, bevor Sie machen es wieder.
Habe ich einen demo-source-code für Sie. Es gibt eine ganze Menge code, also eher als posting alles, was Sie hier zum download der Quelle statt:
http://martywallace.com/testing/gotoPoint.zip
Ähnliche Fragen schon oft gefragt.
Jedoch, finden Sie den code in meine Antworten hier, die erklären sollen, wie sich zu bewegen und zu stoppen.
Die Bewegung von Objekten in einer simulation