我正在製作一個簡單的2D遊戲,玩家可以在各個方向移動並拍攝。Java 2D遊戲在不同的方向拍攝
我設法讓它工作到目前爲止,但有一個問題。當我射擊時,我希望子彈沿着我正在移動的方向前進。到目前爲止,我可以射門,但是當我改變球員的運動方向時,子彈的方向也會改變。
你能幫助我嗎,我可以讓它在我四處移動時子彈不會改變方向嗎?
這裏是選手的運動的一個片段:
public static int direction;
public void keyPressed(KeyEvent k) {
int key = k.getKeyCode();
if (key == KeyEvent.VK_RIGHT) {
player.setVelX(5);
direction = 1;
} else if (key == KeyEvent.VK_LEFT) {
player.setVelX(-5);
direction = 2;
} else if (key == KeyEvent.VK_DOWN) {
player.setVelY(5);
direction = 3;
} else if (key == KeyEvent.VK_UP) {
player.setVelY(-5);
direction = 4;
} else if (key == KeyEvent.VK_SPACE) {
controller.addFire(new Fire(player.getX(), player.getY(), this));
}
}
和拍攝類:
public class Fire {
private double x,y;
BufferedImage image;
public Fire(double x, double y, Game game){
this.x = x;
this.y = y;
}
public void tick(){
switch (Game.direction){
case 1:
x += 10;
break;
case 2:
x -= 10;
break;
case 3:
y += 10;
break;
case 4:
y -= 10;
break;
}
}
public void render(Graphics graphics){
graphics.drawImage(image, (int)x, (int)y, null);
}
}
謝謝!這工作得很好。乾杯! –
我很高興聽到這個消息。如果我幫你,接受這個答案。 – enucar