首页 > Android频道 > 【Android研究院之游戏开发】 > Android研究院之游戏开发帧动画(三)
2012
04-28

Android研究院之游戏开发帧动画(三)

Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 1

1.帧动画的原理

       帧动画帧动画顾名思义,一帧一帧播放的动画就是帧动画。 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一帧的切换罢了。

       如图所示:人物行走动画的实现方式, 4帧行走动画在播放区域 一帧一帧向左切换播放 给人们一种播放动画的假象 ,图片就动了起来, 很简单吧,其它三方向播放动画的方法类似我就不再一一举例。
Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 2
2.动画资源的原始文件动画资源的原始文件PNG 一般有三种形式的呈现方式 请听我细细道来。

1.每一帧是一张png图片中
       如图所示上下左右方向每一组动画中的每一帧都是一张png图片,播放动画须要切换整张图片 ,实现动画效果。代码中只需要将下一帧图片完整的覆盖住上一帧的图片就OK了,这种资源的排列方式在程序算法上是最简单的。
Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 3
2.所有动画帧都存在一张png图片中       如图所示一张png中存放了人物所有的帧动画,播放动画的时候程序需要计算出将要播放的图片在原始图片中的起始坐标和结束坐标,也就是说要从原始图片中把将要播放的图片扣出来,从而显示在手机屏幕上。这种资源的排列方式程序需要编写计算图片坐标位置的算法。

Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 4
3.动画编辑器处理动画游戏公司都会有自己的动画编辑器 ,动画编辑器的好处是
 1.减少图片大小节省内存空间 
 2. 缩短美工对坐标时间 ,因为如果没有编辑器美工很痛苦的需要一张图片一张图片的对坐标,全是体力活。
 3.完全数据驱动动画 ,动画出问题程序不用改代码。BUG都是美术的 ,呵呵。

       动画编辑器生成出来的其实就是坐标 告诉图片的每一个点 每个动画的点 拼接起来的每一个坐标 程序须要编辑对动画编辑器生成的xml文件 根据生成出来的坐标 进行解析然后绘制出游戏动画。AuroraGT动画编辑器是笔者使用最多的一款动画编辑器它的功能非常强大可以编出任意动画。由于考虑到商业用途 对于这个编辑器的解析与使用我不做任何解释 。如果只是单纯的想学习我把编辑器的下载地址贴出来,大家可以互相研究互相讨论互相学习。

下载地址:http://download.csdn.net/source/3462935

Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 5
给大家看看生成出来的动画效果很绚丽吧,是不是很给力呢 呵呵呵呵。
Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 6
我用代码详细的说明一下第一种和第二种游戏动画的代码实现方法。
       我自己写了一个动画类来处理播放动画,需要调用动画只需要new一个Animation对象传入动画所需要的参数通过调用 DrawAnimation 方法就可以按帧播放绘制动画。如果是单纯的学习的话我觉得这个类已经够学习使用了。

大家看看我做的游戏demo  利用上下左右按键 播放向上 向下 向左 向右人物行走动画。

Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 7Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 8Android研究院之游戏开发帧动画(三) - 雨松MOMO程序研究院 - 9

最后由于代码较多我就不贴在博客中了 , 下面给出Demo源码的下载地址欢迎大家下载阅读互相学习,互相研究,互相讨论 雨松MOMO希望可以和大家一起进步。

下载地址:http://vdisk.weibo.com/s/aa9jR

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Android研究院之游戏开发帧动画(三)》有 13 条评论

  1. 薛乔铭 说:

    一个3D人物,换装,手指可控制人物左右前后显示。怎么实现呢

  2. 再续悲伤 说:

    这个不是手机玩的吧

  3. 石开 说:

    很不错,支持一下!

  4. 小智 说:

    在setKeyState()方法里面没有调用onDraw()方法,为什么按下按键,会运行onDraw方法呢?

  5. ant 说:

    想问一下,导入工程,注释部分为乱码,怎么解决?

  6. 松哥,有没有AuroraGT的使用说明。

  7. AuroraGT这个软件怎么使用的啊

留下一个回复

你的email不会被公开。