我在我的 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;
}
}