最近在做一款联机对战类的游戏,对战场景类似于拳皇,对战机制为回合制。

玩过回合制游戏的人都知道,每个回合的指令下达以后,都会按照之前的指令播放战斗动画。

下面是个小例子:

那么这一类(2D)的战斗动画该怎么制作呢?

其实原理很简单,就是把一帧一帧的人物不同动作的图片连续播放,结合图片在屏幕上的位移,视觉上就形成了一个完整的动画。

具体到iOS设备上的动画制作上来该怎么做呢?

首先,我们看一下上面播放的战斗动画所使用的一张素材图片(密集恐惧症患者渗入):

这张图片是将某个人物的所有动作图片都合成到一张图上,形成一个雪碧图,这样可以极大的节省资源。

如何合成iOS上可以使用的雪碧图呢?这里推荐一个工具:ZWOPTEX

使用上面的工具,在合成一张雪碧图的同时,还会产生一个.plist文件,文件的基本结构如下:

<dict>
    <key>frame</key>
    <string>{{2,536},{74,84}}</string>
    <key>offset</key>
    <string>{15,11}</string>
    <key>rotated</key>
    <true/>
    <key>sourceColorRect</key>
    <string>{{106,75},{74,84}}</string>
    <key>sourceSize</key>
    <string>{256,256}</string>
</dict>

每个dict标签实际上都包含了每一张小图的信息,可以直接进行调用。

关于如何调用的方法,这里就不详细说了

以上,就是在iOS设备上制作简单的战斗动画的一个思路。