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

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

你好我正在制作一个平台游戏,当你按空格时,角色会射出一个在屏幕上移动的火球,但当你再次按空格时,火球的坐标会被设置回玩家的坐标,而不是绘制另一个我想要的火球。


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();

}




}


四季花海
浏览 443回答 2
2回答

ibeautiful

你有没有尝试创建另一个实例Image?例如:Image&nbsp;fireball,&nbsp;firball2;现在你有两个Image对象。所以当你打电话时g.dawImage(...):public&nbsp;void&nbsp;paint(Graphics&nbsp;g){ &nbsp;&nbsp;&nbsp;&nbsp;g.drawImage(fireball,&nbsp;x,&nbsp;y,&nbsp;null); &nbsp;&nbsp;&nbsp;&nbsp;g.drawImage(fireball2,&nbsp;x+10,&nbsp;y+10,&nbsp;null);//just&nbsp;draw&nbsp;this&nbsp;other&nbsp;Image}您可以继续绘制多个图像。此外,我更改了x和y位置,因此两个Image对象不重叠。现在如果你想了一堆的Image对象,然后使用ArrayList的Image对象:ArrayList<Image>&nbsp;fireballs&nbsp;=&nbsp;new&nbsp;ArrayList<Image>();在此处阅读有关ArrayList的更多信息
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java