Хорошо, я учусь создавать игры и прочее на Java, и я использую обработку, пытаясь создать эллипс, который будет постоянно перемещаться при запуске. То, как я анимирую, находится в функции draw(), которую я проверяю. условие, когда оно должно быть запущено, и когда условие истинно, я рисую эллипс и постоянно меняю его новые координаты. В настоящее время моя игра работает со скоростью 30 кадров в секунду, и когда я меняю координаты эллипса с небольшим отрывом, она движется медленно, но поскольку последующие координаты, в которых будет генерироваться мяч, настолько близки, что они будут генерироваться близко, давая эту медленную, но плавную анимацию, в отличие от того, чтобы сделать ее быстрее, я приходится увеличивать координаты, что дает быструю, но прерывистую анимацию. Я совершенно не понимаю, как нам на самом деле ускорить процесс без ущерба для качества анимации.
Моя структура выглядит так
Код: Выделить всё
public float speed = 100;
public static final int FPS = 30;
public void draw() {
// conditions to check
if (tank.isTankfired()) {
removeprojectile(tank.projectilestartX(), tank.projectilestartY());
fill(255, 0, 0); // Set the fill color to red
ellipse(tank.projectilestartX(), tank.projectilestartY(), 10, 10);
tank.setprojectilestartX(tank.projectilestartX()+speed/FPS);
tank.setprojectilestartY(tank.projectilestartY()-speed/FPS);
}
}
с помощью этого метода он постоянно меняет координаты x и y, и если я увеличиваю скорость, расстояние между следующим эллипсом, где бы он ни был нарисован, увеличивается, а не генерируется быстрее, и поскольку программа работает со скоростью 30 кадров в секунду, теперь выглядит прерывисто. Я новичок в процессе обучения, поэтому буду благодарен за любые указания о том, как это на самом деле происходит.
Подробнее здесь:
https://stackoverflow.com/questions/783 ... -without-s