(一)地图结构 2D游戏的原理比3D游戏的原理感觉要容易的多,很好理解。整个世界分成多个区域,每个区域通过“出入口连接”,
进入一个区域前先加载所有的地图资源,组成一个大的地图,每张地图又分成m*n个肖方块,然后根据玩家的坐标计算出
地图在屏幕显示的范围。
(二)滚屏的实现: 假设玩家的坐标是:(xPos,yPos)
地图tile的大小:tileWidth,tileHeight;
则在屏幕左上角的小方块的索引是(xPos/tileWidth,yPos/tileHeight)小方块的偏移是(xPos%tileWidth,yPos%tileHeight)
这样玩家移动时更新xPos,yPos,绘制的时候就产生了滚屏现象。
(三)遮挡
地图分三层:地貌,小物品(静态),大的静止的物体(好像有些地方叫做遮挡物,不知道是不是这样称呼)为了显示
正常的遮挡关系,绘制顺序为:地貌->小物品(静态)->大的静止的物体,从左到右,由上到下,其实就是从左到右一行一行的绘制。
(四)绘制
Directx 9.0c
ID3DXSprite