2013-04-04 76 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