上一篇:
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十六) 牵引式地图移动模式②通过
第十四节、
第十五节的学习,我们掌握了如何创建一个初具雏形的精灵控件。目前我已经赋予了它少量的属性,但是离完美还有很长的距离。因此,我打算在后面的章节中以辅助游戏设计为前提,对该精灵控件进行全方位的包装,使之更加趋于完美与和谐(^-^||)。
在前面所有章节的示例中,角色均只有一个方向,且动作均为跑步状态,因此很多朋友都问我该如何实现角色的全方向及全动作。尽管我在文中已经提级了相关的解决方案;但是,对于初次接触WPF/Silverlight游戏制作的朋友在逻辑上或许还是有较大难度的。那么本节将实现主角8方向(在下文中凡涉及到角色方向时,我均会以时钟0点的位置为0,然后顺时针方向依次为1、2、3、4、5、6、7,通俗来讲即方向代号0代表角色面朝北、1代表东北、2代表东、3代表东南、4代表南、5代表西南、6代表西、7代表西北)如下图:
附件:
1.jpg 5大基本动作(每个动作均由若干帧组成,就拿本教程后面都要用到的主角图片为例,其中站立动作由5张图片连续播放形成、跑动8张、攻击7张、施法6张、翘辫子8张。当然,在高质量的游戏中一个角色并不只这5个动作,还有例如受伤、眩晕、上马下马等等动作,本教程以教会大家如何去基础使用与常规制作为目的,关于更精细的活还得靠大家自行发挥与创新。至于你问我这些动作的帧数设置是否是最合理,我可以告诉大家肯定不是(图片为破天一剑的,我保留了原先的帧配置未做大的改动)。如果你打算开发的是Silverlight游戏,我建议尽量让每个动作帧数不要超过5帧,实践证明这在网页游戏中能达到性能与效果的黄金分割;至于在WPF这样带客户端的游戏中,你大可将所有的动作均设置为10+帧都无所谓,在后面的教程中我将给大家见识一下剑侠世界中的16帧动作)如下图:
附件:
2.jpg 全面讲解即将开始,一定要认真听哦!坐正啦!
首先我们需要通过3DMAX等工具制作出一个拥有这5个动作的3D动画角色,然后将之导出为8个方向5个动作的系列帧图片(大家如果只是做练习用,可以从网上下载相关素材或通过提取工具来提取,但是请勿用于商业用途,否则是需要承担法律责任的)。这个过程不在本教程范围内,所以就不详细讲解了。接下来为了节省时间,我就不再重新提取素材了,我将以
WPF开发的ARPG游戏引擎(WPF Game Engine)中的主角为例进行相关解说。
如果素材是通过3D渲染2D的方式得到的,那么素材均为统一标准尺寸的连续单幅图片(不是的话找美工的麻烦);但是如果是从网上下载或提取的话,每帧图片的尺寸并不统一。因此,我们首要做的是将这些图片通过Photoshop中的“动作”功能进行批量处理,使所有帧图片尺寸规格统一。就以本节中的主角为例,我将它的所有帧图片规格均统一为150*150像素,并且主角在图片中的水平及垂直方向均居中,如下图(该图为局部,一共有8*34=272张)。
附件:
3.jpg