今天总算把direct得一些函数用类封好了~
有图像文件类,图像类,动画类,DDRAW操作类,还有其他得一些辅助类。
文件不多,只加载24位位图,映射到屏幕32位。
之前也把那个A*改成四屏的滚屏了, 进而做了精灵走地图和屏幕做设想头的分离(本来就该这么设计的,否则精灵的位置移动考虑的太复杂,精灵的位置要相对于背景图-这里是四屏的,而不能相对于显示器,否则逻辑太负杂),然后把精灵8个方向的图帧找了图来代替,每个方向图做3帧,每个方向加载4帧,最后一帧和第一帧相同~总算象在走路了~~
把刚才的类编译成静态库,把这个用这个库重写一次(大部分只是函数的替换),也和之前的效果一样。不过我觉得这次封的似乎太private了,有的属性,比如说精灵的位置,之前如果设置精灵的水平坐标和纵向坐标,很简单,由于是结构体的public,所以直接写bobMainPerson.x += 2;bobMainPerson.y += 2;
现在因为都封装成了私有的,所以要提供操作的方法,就比较复杂,可能要这么写:
bobMainPerson.SetPosX(bobMainPerson.GetPosX()+2);
bobMainPerson.SetPosY(bobMainPerson.GetPosY()+2);
这样也太复杂了,而且应该这样的return可能会影响效率,所以象这些属性写成pubilc 的可能更好一些。