package no.agens.depth; import android.graphics.Bitmap; import android.graphics.Canvas; import no.agens.depth.headers.Renderable; public class RenderableBear extends Renderable { public static final int FRAME_DELAY = 2500; long lastFrameChange; Bitmap[] bitmaps; int bitmapIndex = 0; public RenderableBear(Bitmap[] bitmaps, float x, float y) { super(null, x, y); lastFrameChange = System.currentTimeMillis(); this.bitmaps = bitmaps; } @Override public void draw(Canvas canvas) { canvas.save(); canvas.drawBitmap(bitmaps[bitmapIndex], x + translationX / 2, y + translationY, null); canvas.restore(); } @Override public void update(float deltaTime, float wind) { super.update(deltaTime, wind); if (lastFrameChange + FRAME_DELAY < System.currentTimeMillis()) { lastFrameChange = System.currentTimeMillis(); bitmapIndex += 1; if (bitmapIndex == bitmaps.length) bitmapIndex = 0; } } public void destroy() { for (Bitmap bitmap : bitmaps) { if (bitmap != null && !bitmap.isRecycled()) { bitmap.recycle(); } } } }