Я пытаюсь переместить объект одним щелчком мыши, пока объект остается анимированным. На этом сайте есть несколько похожих постов, и я основал свой код на этом ответе:
Эффективный алгоритм для перемещения страусов по линии с постоянной скоростью
Но я хочу использовать поток, чтобы сохранить объект анимированным. Как мне это сделать? Вот мой код:
public void movePlayer(Graphics g, int finalX, int finalY)
{
int length = finalX - xpos;
int height = finalY - ypos;
int oldXpos = xpos;
int oldYpos = ypos;
double speed = 20;
double distanceX = (length)/speed;
double distanceY = (height)/speed;
double distance = (Math.hypot(length,height));
double distanceTraveled = 0;
//This currently doesn't work:
move = new Thread(this);
{
while (distanceTraveled<distance)
{
//move the object by increments
xpos += distanceX;
ypos += distanceY;
distanceTraveled = Math.hypot(xpos-oldXpos, ypos - oldYpos);
drawPlayer(img, g);
for(int x = 0; x < 100000; x ++);
}
}
}