Я настроил систему стрельбы пулями в своей 2D-игре. где, когда персонаж движется влево, пуля запускается и движется влево и хорошо. это работает и для правой стороны. но вот проблема... Скажем, я стреляю влево, но прежде чем он покинет экран, персонаж движется вправо, это изменение направления также меняет направление уже движущейся пули, и она движется вправо, как персонаж. Я могу заставить пулю двигаться вперед и назад с помощью левой и правой клавиш.
Вот класс пули. метод move() перемещает пулю.
package gameLibrary;
import java.awt.*;
import java.util.ArrayList;
import javax.swing.ImageIcon;
public class Bullet {
int x,y, x2;
Image img;
boolean visible;
public Bullet(int startX, int startY) {
x = startX;
x2 = startX;
y = startY;
ImageIcon newBullet = new
ImageIcon(getClass().getResource("/resources/bullet.png"));
img = newBullet.getImage();
visible = true;
}
public void move(){
if(Character.left){
x -= 4;
if(x < 0){
visible = false;
Character.left = false;
}
}
if(Character.right) {
x = x + 4;
if(x > 854){
visible = false;
Character.right = false;
}
}
}
public int getX(){
return x;
}
public int getY() {
return y;
}
public boolean getVisible(){
return visible;
}
public Image getImage(){
return img;
}
}