为了账号安全,请及时绑定邮箱和手机立即绑定

如何多次绘制相同的运动图像?

如何多次绘制相同的运动图像?

四季花海 2019-08-28 15:53:18
如何多次绘制相同的运动图像?你好我正在制作一个平台游戏,当你按空格时,角色会射出一个在屏幕上移动的火球,但当你再次按空格时,火球的坐标会被设置回玩家的坐标,而不是绘制另一个我想要的火球。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}

您可以继续绘制多个图像。此外,我更改了xy位置,因此两个Image对象不重叠。

现在如果你想了一堆的Image对象,然后使用ArrayListImage对象:

ArrayList<Image> fireballs = new ArrayList<Image>();

在此处阅读有关ArrayList的更多信息


查看完整回答
反对 回复 2019-08-28
  • 2 回答
  • 0 关注
  • 442 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信