网页游戏特效使用总结
网页游戏作为近年来新兴的一种游戏形式,在特效的使用上也比较广泛,大家能立马想到的就是战斗特效各种大各种炫,界面上到处都在闪啊闪的。这篇文章主要结合《星之物语》(ss.qq.com)中特效来归纳下页游中特效的使用方法以及一些小心得,全当抛砖引玉,中间会有一些不全面,欢迎各位交流。(主要是针对2d的特效展示,现在在页游中可以使用stage3D来渲染一些特效,在使用比较炫的特效还有粒子等方面都有非常好的表现)
众所周知,Adobe在动画领域是非常厉害的,一般目前在游戏中特效的实现一般有两种方式:
l Flash CS中通过时间轴实现,在时间轴上逐帧播放;
l 序列帧位图实现,通过不断变换Bitmap的BitmapData来实现动画。
两种实现方式各有利弊,前者比较节省内存但很耗cpu,后者却能有效的避免cpu消耗过高,但是同一个动画用后者实现资源会比较大。两者在CPU和内存之间不相伯仲。
我们先看下星之物语里有哪些特效:
n 技能特效
玩家在释放技能的时候出现的,播放一次就消失。
n buff特效
在玩家身上播放,随着人物的移动一起移动,它会持续的播放。
n 场景特效
这里是场景上的传送点特效。
n UI特效
在我们的面板或者UI界面上播放的特效,有持续播放也有瞬发播放。
大概了解了后,归纳下特效的特点。按特效的使用地方分两种:
u 瞬发特效,播放一遍就结束;
u 持续播放特效,包括永久播放和播放一定时间两种。
按特效的使用地方分两种:
u 场景特效
u UI特效
上面两类特点,特效的使用两两组合各有四种形式:
| 瞬发特效 | 持续播放特效 |
场景特效 | 序列帧位图 (减少CPU消耗) | 序列帧位图 (减少CPU消耗) |
UI特效 | Swf (减少内存大小) | 序列帧位图 (减少CPU消耗) |
场景特效,包括瞬发的技能特效,场景上点缀用的特效等等,只要是在场景上,都只能用序列帧形式来表现,因为考虑到效率问题,场景上的东西都只能用序列帧位图的方式来表现。
UI特效,如果是瞬发的话,可以考虑用flash cs制作的特效,有点是特效的体积比较小,节省内存,而且只是瞬间的播放一下,不会耗费什么效率的。如果不是瞬发的,介意全部使用序列帧位图的形式,因为在循环播放,用位图比较省cpu,虽然会多占一点内存,但是这个可以控制的住的。