⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 map.h

📁 [游戏开发参考书-用DirectX编写RPG游戏]这是一个系列的丛书如果你都看并且懂的话你就可以你工作啦!
💻 H
字号:
#ifndef _MAP_H_
#define _MAP_H_

#define MAX_OBJECTS  1024
typedef struct {
  long XPos, YPos;
  char Tile;
} sObject;

class cMap
{
  private:
    long    m_Width, m_Height;  // Width and height of map
    long    m_NumLayers;        // # of layers
    char   *m_Map;              // array for tile information
    cTiles *m_Tiles;            // cTile class to use for tiles

    long    m_NumObjectsToDraw;
    sObject m_Objects[MAX_OBJECTS];

  public:
    cMap();   // Constructor
    ~cMap();  // Destructor

    // Function to create and free a map class
    BOOL Create(long NumLayers, long Width, long Height);
    BOOL Free();

    // Function to set a map's layer data 
    BOOL SetMapData(long Layer, char *Data);

    // Function to clear and add an object to list
    void ClearObjectList();
    BOOL AddObject(long XPos, long YPos, char Tile);

    char *GetPtr(long Layer); // Get pointer to map array
    long GetWidth();   // Get width of map
    long GetHeight();  // Get height of map

    // Assign cTile class object to use for drawing map tiles
    BOOL UseTiles(cTiles *Tiles);

    // Render map using specified top-left map coordinates, as
    // well as # of columns and rows to draw, plus layer used
    // to draw objects.
    BOOL Render(long XPos, long YPos,                         \
                long NumRows, long NumColumns,                \
                long ObjectLayer);
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -