Я сделал игру с космическим кораблем, но у меня есть проблема с ее перемещением. это сценарий:Java игра вращает изображение и ось
public class spaceship {
private final local_client local_client;
private final int startX;
private final int startY;
private final int startR;
private double x,y,r;
public static double rotation;
public static double velo;
общественности статической AffineTransform на;
public spaceship(local_client local_client,int startX,int startY,int startR) {
this.local_client = local_client;
this.startX = startX;
this.startY = startY;
this.startR = startR;
x=200;
y=200;
r=90;
}
public void drawImage(Graphics2D g2d) {
g2d.drawImage(local_client.spaceship_img,200,200, local_client.game);
at = g2d.getTransform();
at.translate(x , y);
at.rotate(Math.toRadians(r));
at.translate(-(local_client.spaceship_img.getWidth()/2),-(local_client.spaceship_img.getHeight()/2));
System.out.println(at.getTranslateX() + " - " + at.getTranslateY());
g2d.setTransform(at);
g2d.drawImage(local_client.spaceship_img,0,0, local_client.game);
}
Так с этим сценарием я могу повернуть изображение (см экран): http://gyazo.com/c982b17afbba8cdc65e7786bd1cbea47
Моя проблема заключается в том, что если я приращение X или Y двигаться по нормальной оси (экран): http://gyazo.com/1fb2efb5aff9e95c56e7dddb6a30df4a и не по диагонали
Привет, что это величина, и когда мне нужно называть этот метод? –
@terzi_matte Скажем, автомобиль - это автомобиль. Когда вы нажимаете на педаль газа, это происходит в 100 км/ч мгновенно или постепенно ускоряется до 100 км/ч? Добавляя величину, вы можете определить, насколько быстро корабль идет. Таким образом, величина в вашей игре будет равна 100 долларов в секунду. Величина 10 будет означать 10px в секунду. – Compass
Да, спасибо большое, я понял это через 1 час, но спасибо, я думаю, что вы изменили сон и грех :) –