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

📄 easydraw.h

📁 这个例子告诉你2d Arpg游戏中的动态阴影如何生成
💻 H
字号:
#ifndef EASY_DRAW_H
#define EASY_DRAW_H
#include <ddraw.h>
#include "normal.h"

#define CHANGE_565_TO_555( w ) (WORD)( ( w >> 1 ) & 0x7fe0 ) + ( w & 0x1f )

class EasyDraw
{
public:
	EasyDraw();
	~EasyDraw();
	LPDIRECTDRAW7 GetLPDD(){ return lpDD;}
	LPDIRECTDRAWSURFACE7& GetBackSurface(){ return lpDDSBack; }
	LPDIRECTDRAWSURFACE7& GetTempSurface(){ return lpDDSTemp; }
	int GetDeviceWidth(){ return m_iWidth; }
	int GetDeviceHeight(){ return m_iHeight; }
	void Filp();
	DWORD ChangeColorKey( DWORD colorkey );
protected:
	LPDIRECTDRAW7			lpDD;
	LPDIRECTDRAWSURFACE7	lpDDSPrimary;
	LPDIRECTDRAWSURFACE7	lpDDSBack;
	LPDIRECTDRAWSURFACE7	lpDDSTemp;					//一个离屏页面,用于完成各种特效
	HWND GameHwnd;
	int				m_iWidth;
	int				m_iHeight;
public:
	bool InitDDraw(HWND hwnd, bool isWindowed, int iW, int iH);
};
//DirectDraw各类函数
//-------------------------------------------------DDraw辅助函数---------------------------------------------------
EasyDraw *InitEasyDraw( HWND hwnd, bool isWindowed, int iW, int iH );
EasyDraw *GetEasyDrawPointer();
HRESULT CreateSurfaceHelp( LPDIRECTDRAW7 lpdd,LPDIRECTDRAWSURFACE7 *ppSurface,int iW, int iH, bool isSysMemory, bool isColorKey, DWORD ColorKey );
HRESULT CreateSurfaceOfBmp( LPDIRECTDRAW7 lpdd,LPDIRECTDRAWSURFACE7 *ppSurface,char *szFileName, bool isSysMemory, bool isColorKey, DWORD ColorKey );
LPDIRECTDRAWSURFACE7 LoadBmpToSurfaceFromHBmp( HBITMAP hBmp, LPDIRECTDRAWSURFACE7 lpDDSurface, int x, int y );
void SetColorKeyHelp( LPDIRECTDRAWSURFACE7 lpDDSurface, DWORD ColorKey);
bool CopySurfaceToBmp16( LPDIRECTDRAWSURFACE7 lpDDSurface, char *szFileName, RECT *pRect, bool is565 );
#endif

⌨️ 快捷键说明

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