version6
主要内容:精灵类,地图类
所属部分:客户端
代码地址 https://github.com/changjixiong/MMO-RPGGame, 如何获得代码,请参考如何用SVN从github上检出代码的不同版本
邮件地址:changjixiong@gmail.com
为了逻辑清晰,现在将贴图的行为封装起来,目前是2个类,一个是地图,一个是精灵
地图类,目前函数的变量较少,包括一个位图类,一个初始化函数,和一个贴图函数,后续会有更多的函数,比如,地图移动,切换等等。
精灵类,包括动作序号的序列,动作位图的序列,已经载入序列的函数,贴图函数等。
序列如何产生动画,以人物站立姿势为例,人物面向正南站立,对应的图片资源是c00000.bmp ~c00004.bmp,当然了,现在的资源组织方式是不科学的,后续会将资源打包。
这5个位图,实际不是一个完整的东西序列,而是只有向左微微转身,转到尽头,就没有了,这样的动画,看上去的效果就是,人物向左微微转身,然后,突然又面向正南。
那么完整的序列应该是这样的, c00000.bmp ~c00004.bmp~c00001.bmp即 0,1,2,3,4,3,2,1, 也就是向左微微转身,然后,在慢慢转回来。
man_anims[8][8]就是人物站立姿势的位图序号的序列,8个方向,每个方向8帧。
先弄个正南的站立动画试试看
Load_Frame(0, 5);
Load_Animation(0, 8, man_anims[0]);
先加载5个位图资源,在加载正南站立的动画序列。Load_Animation函数现在有个bug不过不影响这个版本的显示效果,有没有人发现 :)。
Animate函数,使计数切换到下一个,Draw函数,贴图(去掉背景).
现在在GameWorld的Game_Main里面,贴图的就不是位图类了,而是地图类和精灵类的实例