我正在嘗試製作Android的雙人對戰遊戲。從spritesheet加載大量圖像
程序結構:
Menu.java(菜單活動最初加載)
Game.java(遊戲活動,通過菜單啓動)
GameThread.java(句柄gameloop,調用渲染過程GameView)
GameView.java(處理所有繪製到屏幕)
Graphics.java(商店加載的圖像)
問題:
遊戲功能15種不同類型的卡,其中的每一個需要用於動畫大約14幀(翻轉,破壞等)。我目前讀取這些斷PNG spritesheet,然後切碎它們變成一個位圖陣列(位圖[15] [14]),使用以下代碼:
for (int i=0; i<15; i++) {
for (int j=0; j<14; j++) {
card[i][j] = Bitmap.createBitmap(spriteSheet,
j*cardWidth, i*cardHeight, cardWidth, cardHeight);
}
}
,就會出現問題,當我最初加載GameView,需要加載卡圖形,這似乎需要大約2秒的時間來處理(導致無響應的應用程序)。
有沒有更好的方法可以做到這一點?
感謝您的幫助提前。
感謝您的回覆。主要的問題實際上只是在菜單和遊戲活動之間加載圖像所花費的時間。我正在考慮預先加載應用程序首次啓動時需要的所有圖像,並顯示加載動畫。 – woodstock365 2011-03-15 01:10:17