如何绘制van在屏幕上移动的特定图像?

时间:2014-05-23 12:20:30

标签: java

其实我正在制作游戏。但是我被困在绘制图像中,例如我想绘制一个应该在屏幕上不断上下移动的蜘蛛。我正在使用方形和椭圆类的图形类。但是当谈到在正方形或椭圆形上绘制蜘蛛而不是fillRect或fillOval时,我不会通过。

这是我一次又一次地做的事情

   public void draw(Graphics surface) {
         // Draw the object
         surface.setColor(color);

             try{ 
               File f = new File( "C:\\Users\\kk\\Desktop\\7.gif");
                   BufferedImage img = ImageIO.read(f);

                   // surface.drawImage(img,0,0,1360,740,null);
               surface.drawImage(img, 7, 1,null  );
        } 
        catch( Exception e )
       {}

        //surface.fillRect(x - size/2, y - size/2, size, size);

1 个答案:

答案 0 :(得分:0)

首先,每当需要在屏幕上渲染时,您不需要读取文件,因此请创建一个字段:

private BufferedImage img;

public <constructor>(){
   img = ImageIO.read(new File("C:\\Users\\kk\\Desktop\\7.gif"));
}

并迭代位置:

private int x, y;

public void draw(Graphics surface) {
    surface.drawImage(img, x, y, null);

    /* if you have 2 methods: rendering and updating,
    better move it to this updating one */
    x += speed * time;
}

编辑这只是一种伪代码,它不起作用,但是包含了解决问题的想法