锁定老帖子 主题:Android游戏开发之爆炸效果
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-06
爆炸这个好像是游戏里面挺难解决的一个问题,如果要真是模拟爆炸的话,大多是预先设好了所有爆炸的画面,当然这个画面是一样的
|
|
返回顶楼 | |
发表时间:2009-09-14
这个方法可行性不高,因为同一时间只有一个动画存在,如果是要多个动画出现,就挂了
|
|
返回顶楼 | |
发表时间:2009-09-14
vlinux 写道 这个方法可行性不高,因为同一时间只有一个动画存在,如果是要多个动画出现,就挂了
使用过多个动画效果同时显示,没性能问题,请问您有没更好的方法,分享一下啦! |
|
返回顶楼 | |
发表时间:2009-09-15
最后修改:2009-09-15
初涉这块领地,也正在努力探索。
分两个思路来讨论一下 1.改进你的方法。 你的的方法是利用Android自带的Frame-By-Frame例子的,缺点就是Android目前依靠配置无法从一张动画序列图中截取部分来显示动画。所以这样就造成了必须准备一张张单独的图片,这对一个游戏拥有大量动作且Android的res目录不支持子目录的情况下来看是不大雅观的。 我用AnimationDrawable稍做了一些改进。 2.直接用SurfaceView开线程画。用线程+SurfaceView无疑是最好的办法了。不过我目前卡死在这里,因为每帧画出的图案就永久生效了。不像之前的Animation是可以重叠,当动画消失之后还原背景。非常令我苦闷,不知道你有没有在SurfaceView做动画的好办法。 |
|
返回顶楼 | |
发表时间:2009-09-15
最后修改:2009-09-15
raymondlueng 写道 vlinux 写道 这个方法可行性不高,因为同一时间只有一个动画存在,如果是要多个动画出现,就挂了
使用过多个动画效果同时显示,没性能问题,请问您有没更好的方法,分享一下啦! 多个动画效果同时显示,根据你的例子来看,一个动画必须绑定一个View吧。但是爆炸是随机发生的事件。比如说我touch一下屏幕就要有一个爆炸动画出现,如果我在短时间是大量的touch那一个View的劣势就显示出来了。 如果你是打算用动态添加View,那肯定要有性能代价。 |
|
返回顶楼 | |
发表时间:2009-09-15
vlinux 写道 初涉这块领地,也正在努力探索。
分两个思路来讨论一下 1.改进你的方法。 你的的方法是利用Android自带的Frame-By-Frame例子的,缺点就是Android目前依靠配置无法从一张动画序列图中截取部分来显示动画。所以这样就造成了必须准备一张张单独的图片,这对一个游戏拥有大量动作且Android的res目录不支持子目录的情况下来看是不大雅观的。 我用AnimationDrawable稍做了一些改进。 2.直接用SurfaceView开线程画。用线程+SurfaceView无疑是最好的办法了。不过我目前卡死在这里,因为每帧画出的图案就永久生效了。不像之前的Animation是可以重叠,当动画消失之后还原背景。非常令我苦闷,不知道你有没有在SurfaceView做动画的好办法。 我一开始做游戏动画的时候就是用surfaceview+线程来实现的,正如你所说的,动画消失后还要还原背景,在画面上画任何一点东西,都要导致整个画面重画,如果画动画的时候,有用户交换(比如说拖动某个物体,会导致画面闪烁非常严重),似乎这个办法也不是解决之道 |
|
返回顶楼 | |
发表时间:2009-09-15
vlinux 写道 raymondlueng 写道 vlinux 写道 这个方法可行性不高,因为同一时间只有一个动画存在,如果是要多个动画出现,就挂了
使用过多个动画效果同时显示,没性能问题,请问您有没更好的方法,分享一下啦! 多个动画效果同时显示,根据你的例子来看,一个动画必须绑定一个View吧。但是爆炸是随机发生的事件。比如说我touch一下屏幕就要有一个爆炸动画出现,如果我在短时间是大量的touch那一个View的劣势就显示出来了。 如果你是打算用动态添加View,那肯定要有性能代价。 其实也不用的,我这个做法是从flash游戏的开发受启发的,你可以同时隐藏多个view,需要的时候就把其显现出来,大量的touch毕竟也是有些的,View的复用也是蛮高的! |
|
返回顶楼 | |
发表时间:2009-09-15
不知道你是否有玩过一款叫做 “Buka" 的游戏,你觉得密集touch所产生那群蓝色光晕是多个View的效果么?
多个隐藏View,恩.你是想要做一个隐藏的View池?总觉得这不是一个最好的解决办法的说。 |
|
返回顶楼 | |
发表时间:2009-09-15
vlinux 写道 不知道你是否有玩过一款叫做 “Buka" 的游戏,你觉得密集touch所产生那群蓝色光晕是多个View的效果么?
多个隐藏View,恩.你是想要做一个隐藏的View池?总觉得这不是一个最好的解决办法的说。 玩过Buka,还挺喜欢的,我也的确认为隐藏View做不出Buka这样的游戏,我认为隐藏VIew是对于一些比较简单动画的 游戏,是个方便高效的方法而已,我看了你的代码,代码并不是你说的用SurfaceVIew来实现动画啊! |
|
返回顶楼 | |
发表时间:2009-09-15
是,那个代码我干掉了,我想完善点再丢上来的。总觉得真相就在手边了。
|
|
返回顶楼 | |