0
我將位圖動畫添加到我的簡單2D安卓遊戲引擎中(如果您可以稱它爲一個,但是:D),我面臨以預先定義的FPS /速率循環幀的問題。Android位圖動畫
我現在所做的只是使用System來獲取currentTimeMillis並將其用作參考,但我確信這不是最好的決定..我想我可以將當前幀傳遞給繪圖方法並使用它來繪圖方法。
目前我有你得到繪製對象,我用它在渲染這樣的:
canvas.drawBitmap(animation.getDrawable(), (int)x, (int)y, null);
和getDrawable()返回動畫的當前幀或只有框架,如果它的靜止圖像和繼承人代碼
if(frames.size() > 1) {
long current = System.currentTimeMillis();
if (currentFrame == frames.size() - 1 && frameDirection == 1) {
frameDirection = -1;
} else if (currentFrame == 0 && frameDirection == -1) {
frameDirection = 1;
}
if ((current - lastFrame) > delay) {
currentFrame += frameDirection;
lastFrame = current;
}
}
return frames.get(currentFrame);
在我的眼中,只是看起來很糟糕,效率不高。我能做些什麼呢?是將當前幀傳遞給getDrawable的唯一方法,或者應該如何完成?
謝謝你,我幾乎忘記了使用精靈表。非常感謝你! – Ruuhkis