2D游戏动画播放程序设计的一些想法
2008-01-05 08:54:40 来源:WEB开发网假如说一个游戏程序的表现力在于美术的话,那么动画就是美术的灵魂,没有好的动画控制就没有好的游戏表现力。我所写的文章都是针对小软件公司,或者说游戏工作室的并不适合大型的软件公司,假如是大型的软件公司必须有非常好的游戏引擎开发专门针对自己公司游戏开发的游戏引擎。我所写的这些经验或者说启迪性的文章都是针对小规模的游戏开发者,他们需要较为方面的工具,有没有非常空闲的人力去开发成熟的游戏引擎(比如一套成熟的地图编辑器,一个成熟的动画设计器,成熟的RPG脚本系统,等等).这写都是我写什么loading治理,地图的设计一些初衷,小游戏公司要有小游戏公司的开发方法,假如按照大游戏公司的开发方法开发会因为投入不够的原因导致很多的问题。出于成本的考虑我们不得不找一些适合小游戏公司的开发手段和经验。不多说了,主要说明我设计的动画控制程序的思想吧。
世界上有这么多的动画播放和制作软件,为什么我们不择其优而学之呢?对就是因为这个原因,我选择了Flash作为动画播放程序的设计方案.为什么我强调公司的规模呢?因为小公司需要小的能用的好用的工具,这个可能不是gui的,可能仅仅是脚本的,还需要用我们的纸币记录的东西,但是开发效率比较高,大公司就不一样了,可以用gui的,非常强大的工具.我们是小的,所以我选择用最简单最好用的方法来做动画控制的程序,而不是花好几个人力几个月去做.我吸收了一些flash方面的思想来处理动画方面的东西。也就是说你可以按照我的思想开发出更加强大的东西,我只是起一个抛砖引玉的作用,假如你们公司规模大就开发的完整度高,使用范围广,像我们一样的小公司就开发出能用稍微好用一点就满足使用的规模就可以了。
具体思想:首先我们提取动画的一切必要元素:图片,时间,这就是最基本的,更高级的是图层,场景,视角,以及动作,甚至动作列表转换等等。我们工作室的主要的需求主要是一群动作列表,我就只完成到了图层那部分,有实力的应该完成的更高。我的设计思想简单的表述如下:动作拆分如下:
1、图层0 (最底层涂层)
2、动作1(id标号)
3、图片序列(一些图片id标号)
4、FRAME数记录
5、动作2(id标号)
6、图片序列
7、FRAME数记录
。。。。。。。
N、图层1(比0高一级)
。。。。。
这样我们的动画播放程序可以直观的用程序表现出来,按照图层由低到高,按照动作id,根据时隙按照图片序列进行绘制,一个非常好用的动画播放程序就出来了,想象一下,你可以画一个太阳作为图层0,然后给太阳外面带个墨镜作为图层1,再画个嘴作为图层3,每个图层有不同的动作,你的太阳就会根据你的每个动作id做出不同的搞笑动作.
这就是我做的动画播放,动画设计的一些小方法,希望可以引出更多的牛X人物来写一写他们的思想,比如gameloft的波斯王子的作者,写一写他们的思想可能比我的要有价值的多,希望更多人来多写写思想,因为思想比代码更为重要。
更多精彩
赞助商链接