【发布时间】:2011-08-05 18:25:53
【问题描述】:
游戏开发新手,我在将 AnimationDrawable 放置到 SurfaceView 画布上时遇到问题。这是一个简单游戏的一部分,用户触摸屏幕,一个动画 gif 被放置在那个看起来像爆炸的位置。我可以使用下面显示的代码通过位图来完成此操作,但是将其转换为 AnimationDrawable 是我卡住的地方。我可以从 ImageView 创建 AnimationDrawable,但我也找不到将 ImageView 放到画布上的方法...
我是否以错误的方式处理这件事?有没有更简单的方法让动画 gif 显示在 SurfaceView 画布上的 x,y 坐标处?
Bitmap explodeBmp = BitmapFactory.decodeResource(getResources(), R.drawable.explode4);
canvas.drawBitmap(explodeBmp, coords.getX()-(explodeBmp.getWidth()/2), coords.getY()-(explodeBmp.getHeight()/2), paint);
如果我尝试将 Bitmap 转换为 AnimationDrawable 并启动它,则会引发 ClassCastException:
AnimationDrawable explosionAnimation = (AnimationDrawable) ((Drawable) new BitmapDrawable(explodeBmp));
explosionAnimation.start();
【问题讨论】:
-
任何人至少有一个提示?评论?引领正确的方向?有游戏开发者吗?
标签: android canvas bitmap surfaceview