2013-04-04 62 views
4

我计划拥有一个动画角色(角色的图像多次改变以使其看起来在移动),并且我想知道最好的方法。我目前打算做这样的事情:我应该如何做图像动画?

String fileLocation = "./images/picture"; 
BufferedImage img; 
int numImages = 10; 

for(int i = 0; i < numImages; i++){ 
    img = ImageIO.read(new File(fileLocation + i + ".png")); 
    Thread.sleep(100); 
    g.drawImage(img, 0, 0, null); 
} 

这是一个令人难以置信的简化版本,缺少了一些东西,但我敢肯定,你明白我的意思。这样做有什么问题吗? (注意:for循环会在完成后再次重复,并且在“images”文件夹中会存在名为“picture0.png”,“picture1.png”等的文件)

回答

5

如果图像不是很大并且不需要大量内存来存储它们,我宁愿先读取图像并缓存它们。当他们需要显示时,我会从内存而不是从磁盘读取它们。

+1

我该如何去做这件事?程序启动时创建图像的BufferedImage对象? – Hsenfow 2013-04-04 17:04:55

+0

就是这样的。 – 2013-04-04 17:06:17

+0

好的,谢谢,我将所有加载的图像存储在一个数组中并绘制这些图像。 – Hsenfow 2013-04-04 17:07:39