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

📄 pgemaps.h

📁 pocket pc小游戏源码
💻 H
字号:
#pragma once
#include "pgegameobj.h"
#define PGE_MAX_MAPCOUNT 5

struct mapBuffer
{
	BYTE* pbtPic;
	BYTE* pbtAlpha;
	BYTE* pbtCtrl;
	BYTE* pbtPal;
	BOOL bUse;
};

class CPGEMaps : public CPGEGameObj
{
public:

	CPGEMaps();
	~CPGEMaps();

	void LoadMap(char* caFileName);
	void TranslateScreenToMap(int& x, int& y);
	void MoveMap(int x, int y);
	virtual void Draw(CPGECanvas* canvas);
	virtual void Tick(CPGETimer* timer);
	void TranslateMapToScreen(int& x, int& y);
	void Refash();
	int CanPass(int x, int y);
	int GetExitPort(int x, int y);

private:
	CPGESurface** m_pMapSurf;
	BYTE m_btMapWidth;
	BYTE m_btMapHeight;
	RECT m_rMapColRow;
	POINT m_iCurPos;

	RECT* m_prMapDis;
	RECT* m_prMapSrc;
	void CreateSurfaceForMap(CPGESurface* pSuf, int index);
	mapBuffer m_arMapBuf[21];
	BYTE* m_btMapReadBuf[10000];
	FILE* m_pImgFile;
	FILE_OF_SIZE* m_pszFile;
	DWORD m_dwImgFileBase;
	WORD m_wImgCount;

	WORD m_wImgTotleCount;
};

DECLEAR_CREATE_CLASS(CPGEMaps);
DECLEAR_DELETE_CLASS(CPGEMaps);
DECLEAR_REGIST_FUNC(CPGEMaps);
DECLEAR_DEFINE_CLASS_FUNC(CPGEMaps, LoadMap);
DECLEAR_DEFINE_CLASS_FUNC(CPGEMaps, MoveMap);

⌨️ 快捷键说明

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