Java游戏图像

时间:2013-05-30 20:22:53

标签: java swing awt

我正在用Java制作一个游戏,我有一个像这样加载图像的类

class ImageLoader {
     public static ImageIcon image_1 = new ImageIcon(this.class.getResource(file_name_of_image);
     public static ImageIcon image_2 = new ImageIcon(this.class.getResource(file_name_of_image);
     public static ImageIcon image_3 = new ImageIcon(this.class.getResource(file_name_of_image);
     public static ImageIcon image_4 = new ImageIcon(this.class.getResource(file_name_of_image);

    public Image getImage1() {
        return image_1.getImage();
    }
}

我称之为

// paint method
g.draw(ImageLoader.getImage1()...);

setIcon(ImageLoader.image_1);

我的问题是,当我的程序运行时,CPU使用率很高,我认为这是因为必须在每次重绘时加载这些图像而且我应该提到,图像的大小可能与它们的组件大小不同所以需要进行一些扩展。

我应该使用BufferedImage吗?或者有人可以向我解释我可能做错了什么,或问题是什么?

1 个答案:

答案 0 :(得分:4)

我认为您的高CPU必须来自其他地方。加载这些静态变量后,无论重新绘制,它们都不会再次加载。程序启动时可能会有很高的CPU加载它们一次,但我没有看到任何理由它会再加载它们。