如何多次绘制相同的运动图像?你好我正在制作一个平台游戏,当你按空格时,角色会射出一个在屏幕上移动的火球,但当你再次按空格时,火球的坐标会被设置回玩家的坐标,而不是绘制另一个我想要的火球。import java.awt.*;import javax.swing.*;public class Fire extends JPanel{Image fireball;private int x=155000,y=155000;Player player = new Player();public void paint(Graphics g){ g.drawImage(fireball, x, y, null);}public Fire(){}public void update(){ fireball = new ImageIcon("C:\\Users\\steven.greens10\\Desktop\\Programs\\Raw Java\\Platform\\res\\fireball.png").getImage(); x+=5; if(x > 640){ x=155000; }}public void shoot(Player p){ x = p.getX(); y = p.getY(); repaint();}}
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
你有没有尝试创建另一个实例Image
?例如:
Image fireball, firball2;
现在你有两个Image
对象。所以当你打电话时g.dawImage(...)
:
public void paint(Graphics g){ g.drawImage(fireball, x, y, null); g.drawImage(fireball2, x+10, y+10, null);//just draw this other Image}
您可以继续绘制多个图像。此外,我更改了x
和y
位置,因此两个Image
对象不重叠。
现在如果你想了一堆的Image
对象,然后使用ArrayList
的Image
对象:
ArrayList<Image> fireballs = new ArrayList<Image>();
添加回答
举报
0/150
提交
取消