java - 我用 Java 制作的游戏由于某种原因链接了两个 Sprite ?

标签 java graphics2d

我用java制作了这个游戏,当你射击子弹时,它会移动枪和子弹。这是我认为有问题的代码块:

case KeyEvent.VK_SPACE:
        Point2D currentGunPos = sGun.position();
        sBullet[bulletNum].setAlive(true);
        sBullet[bulletNum].setPosition(sGun.position());
        sBullet[bulletNum].setVelocity(new Point2D(-5,0));
        bulletNum++;

为什么它也会移动枪?

最佳答案

在对子弹调用 setPosition 方法之前,您需要克隆枪的位置对象。

Point2D currentGunPos = (Point2D)sGun.position().clone();
sBullet[bulletNum].setPosition(currentGunPos);

关于java - 我用 Java 制作的游戏由于某种原因链接了两个 Sprite ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5129948/

相关文章:

c# - C# 中的集合初始化器

java - Mapstruct 与 maven-pom 中的其他注释处理器一起

java - java中的图像倾斜校正? OMR阅读器应用程序

java - 我无法使用鼠标监听器(例如按下和释放)在 JLabel 中绘制多条线

java - 使用 JLayeredPane 调试简单的 swing 应用程序时需要帮助

java - 在线程的帮助下读取 URL 页面 - Android

java - IllegalArgumentException:Java Constructor.newInstance() 中的参数数量错误

android - android 中的 draw(java.awt.Graphics2D graphics) 方法是什么?

java - 如何在 Wicket 口永久注销?

java - 我可以在Java中将椭圆2D矩形2D之外的其他形状添加到 "Shape"吗?