前言
生活就是这样,起起落落,你认为的结束也许就是另一片天地的开始。
上次我们绘制了元素块,这次就要绘制一个大的东西了,游戏地图,也是游戏中最重要的一部分了,下面来仔细的设计一下。
正题
一个地图有许多小的元素块组成,介于地图是2D方形的,组织起来比较容易,一个地图由许多块构成,把这些块排列起来就是地图,这里我们多考虑一点,魔塔中,地图块分为地面,和地面上的怪物,所以我把地图设置为两层,一层为地皮贴图,一层为地面上的墙和怪物和玩家,这也免去了判断各种地图快到底是什么的麻烦,绘制也省事了。
建立一个地图类,需要保存地图尺寸,地图块的指针
struct Size
{
int x,y,z;
Size(){};
Size(int _x,int _y,int _z):x(_x),y(_y),z(_z){}
};
class GMap
{
protected:
Size size;
Size pos;
GameBlock *** map;
public:
GMap();
//设置地图尺寸
void setSize(Size _size,Size _pos){size = _size; pos = _pos;}
//绘制地图
void draw();
//地图初始化
void init(Size _size,Size _pos);
~GMap();
};
这样地图类设计好了,可以进行绘制,先实验一下。

现在我把地面贴图加载上,这回看起来就有点意思了。

这回就是我们的地图。

本文详细介绍了游戏地图的设计与绘制过程,重点讲解了如何通过分层处理地面与障碍物,简化地图绘制并提高效率。文章提供了地图类的结构示例,展示了如何利用地图尺寸和位置信息来构建和绘制游戏地图。
7

被折叠的 条评论
为什么被折叠?



