Grüße, Mit Javascript, ich versuche, eine sehr einfache Animation zu machen, bewegt sich ein Bild von einer X- und Y-Koordination zu einer anderen XY-Koordination. Ich habe 4 konstant wie:helfen Sie mir, meine grundlegende Punkt zu Punkt Bewegung Animationsalgorithmus
var startX = 0; //starting X of an image
var startY = 0; //starting Y of an image
var endX = 100; //ending X of an image
var endY = 200; //ending Y of an image
//these 2 are used for keeping the "current" position of animated image,
var currentX = startX ;
var currentY = startY ;
//every 150 ms, updates the location of the coordinates
function move(){
if((currentX == endX) && (currentY == endY))
break;
if(currentX < endX){
currentX = currentX + step_amount;
}
if(currentX > endX){
currentX = currentX - step_amount;
}
if(currentY < endY){
currentY = currentY + step_amount;
}
if(currentY > endY){
currentY = currentY - step_amount;
}
setInterval("move()", 150);
}
Dies macht der Job, aber es ist nicht glatt, werde ich Ihnen dankbar, wenn Sie mir helfen, meinen naiven Algorithmus für eine bessere Bewegung Funktion zu verbessern, das immer für wird die " kürzester Weg".
How do you/calulate step_amount gesetzt und sollten nicht Sie Haben Sie unterschiedliche Schrittwerte für x- und y-Dimensionen, wenn Sie sich in einer geraden Linie bewegen möchten? –
Ändern Sie die letzte Zeile in setInterval (move, 50). Es wird dreimal glatter sein. – scvalex