Проблема с анимацией JavaFX. AnimationTimer

animationtimer почему-то суммирует скорости всех планет и они двигаются с одинаковой скоростью. Как сделать так, чтобы скорость вращения планет по орбите была разной?

Вот код:

`static double theta = 0;

static double x;

static double y;
double radius = 0;

    double speed=0; 

AnimationTimer moved = new 

AnimationTimer() { //добавление методов в таймер

public void handle(long now) {
                movemerk();
                moveven();
                moveearth();

 }
};

public void move(){ //старт анимации(этот метод присваитвается кнопке на форме)
    moved.start();
}

public void moveven(){ //метод для анимации вращения венеры
           speed=0.01d; //скорость вращения по орбите
           radius=85; //размер орбиты
            theta += speed;
            if (theta >= 2 * Math.PI) { theta = 0; }
            x = radius * Math.cos(theta);
            y = radius * Math.sin(theta);
            venera.setY(y); //venera это image view
            venera.setX(x);
}
public void moveearth(){
             speed=0.02d;
             radius=105; 
            theta += speed;
            if (theta >= 2 * Math.PI) { theta = 0; }
            x = radius * Math.cos(theta);
            y = radius * Math.sin(theta);
            earth.setY(y);
            earth.setX(x);
        };

public void movemerk(){ 
     radius = 57; 
     speed=0.03d; 
    theta += speed;
    if (theta >= 2 * Math.PI) { theta = 0; }
    x = radius * Math.cos(theta);
    y = radius * Math.sin(theta);
    merkury.setY(y); 
    merkury.setX(x);
}`

введите сюда описание изображения


Ответы (0 шт):