Android游戏开发之过关动画(基于SurfaceView实现)
?? 最近在做一个Android小游戏,使用SurfaceView实现,在为游戏加过关动画的时候遇到了麻烦,记录于此,供大家参考。在SurfaceView中,加动画有两种方式,一种是在Canvas上画出图形,然后对图形的位置、大小等参数进行改变来实现动画效果;另一种是使用Animation类。
?? 对于在SurfaeView上实现第二种方式的动画,有很多值得注意的地方,当然网上有一种将View和SurfaceView同时显示,利用View去实现动画的方法,虽然可以,但感觉太麻烦。开始入题:
?? 首先,提醒大家,在SurfaceView中,只能对整个Canvas播放动画,而不能对某个画出来的图形播放动画;
?? 其次,要想看到动画效果,必须先为SurfaceView设置背景,setBackgroundXXX(),有三个可用方法,可任意选用,视情况而定
?? 最后,在播放玩动画后,你会发现原来画的东西看不到了,只能看到背景,这时候要去掉这个背景,调用SurfaceView的setBackgroundResource(0)方法,参数0表示去掉背景。
?? 来一段实例
?
?? 大家有什么更好的方法,欢迎分享交流!