Heim > Fragen und Antworten > Hauptteil
迷茫2017-04-17 17:52:57
在Canvas游戏中,针对这种场景,其实采用的最优化的方案进行的,因为有雨或者没雨都不是游戏的关键,我们也不是游戏引擎,所以一般这么做,从简单到复杂:
使用其他工具,比如PS、AE,让美术师绘制一个全屏下雨动画图片(注意是全屏),然后将动画导出成1帧1帧的PNG图片
使用动画控件,绘制到当前场景中,一帧一帧的播放即可
使用粒子系统生成,但是粒子比较消耗CPU,除非用在一些关键的物件,对于这种锦上添花的效果还真没意义
针对3D游戏,比如Asphalt等,会专门研发(或购买)水滴引擎,让水滴有反弹、融合等自然效果,当然,也可以用贴图,只在屏幕表面下,而非场景内下。
2D游戏一般都是方案1
所以类似题主提到的这种场景,应该是贴图,一张一张的贴,效率也高,反正雨滴在表现上循环播放也合理。
迷茫2017-04-17 17:52:57
粒子效果
每个雨滴是一个粒子,粒子包含静态图片或若干帧的动画
每个粒子有自己的坐标和2维速度,以及生命周期
随着时间变化更改坐标,动画帧数,就是下雨效果了
当然,下到屏幕下面就重新随机一个坐标和速度,从屏幕上方放进来。