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

📄 directwnd.h

📁 人最近写的一个飞行类的游戏,主要目的是为了锻炼一下自己,提高编程水平,由于本人C++基础不是很好,所以程序中有很多地方设计的不是很合理,希望大家能够多提建议!
💻 H
字号:
// DirectWnd.h: interface for the CDirectWnd class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DIRECTWND_H__AFCA4B19_6A15_4B35_AD11_3EC5B819C20D__INCLUDED_)
#define AFX_DIRECTWND_H__AFCA4B19_6A15_4B35_AD11_3EC5B819C20D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Window.h"

#include <ddraw.h>
/*
////////////////////////////链接时加入*.lib库
#include <ddraw.h>
#pragma comment(lib,"ddraw.lib")

#include "ddutil.h"
#pragma comment(lib,"ddutil.lib")

/////////////////////////////
*/
#include "Sound.h"
#include "Midi.h"

class CDirectWnd : public CWindow  
{
public:
    LPDIRECTDRAW lpDD;				  //DirectDraw对象指针
    LPDIRECTDRAWSURFACE lpFrontBuffer;//DirectDraw主缓冲区
    LPDIRECTDRAWSURFACE lpBackBuffer; //DirectDraw后台缓冲区
    int nBufferCount;				  //后备缓冲区个数

	LPDIRECTDRAWSURFACE lpBKGObject[BkgNum];

	CSound *m_snd;
	CMidi *m_music;

public:
	CDirectWnd(HINSTANCE hInstance,
		       int nCmdShow);
	virtual ~CDirectWnd();
	void CleanSurface();			  //释放资源
	BOOL InitializeWnd(UINT Width,
		               UINT Height,
					   UINT Bpp);
	void LoadBitmapResource();
	HRESULT FlipScreen();
	HRESULT Clear( DWORD dwColor = 0L );
	void BltBitMap(	LPDIRECTDRAWSURFACE surSrc,
				    LPDIRECTDRAWSURFACE surDest,
				    RECT *rtSrc,
				    RECT *rtDest);
	void BltBitMap(	LPDIRECTDRAWSURFACE surSrc,
				    RECT *rtSrc = NULL,
				    RECT *rtDest = NULL);
	void BltObject( LPDIRECTDRAWSURFACE surSrc,
				    LPDIRECTDRAWSURFACE surDest,
				    RECT *rtSrc,
				    RECT *rtDest);
	void BltObject( LPDIRECTDRAWSURFACE surSrc,
				    RECT *rtSrc = NULL,
				    RECT *rtDest = NULL);
	void ShowText( int x , int y , char *text , COLORREF color = RGB(0,255,0) );
	void ShowText( int x, int y, int num , COLORREF color = RGB(0,255,0) );
	LPDIRECTDRAWSURFACE CreateSurface(DWORD width,DWORD height);
	void GetRect(RECT* rect, long left, long top, long width, long height);
	void SetSound(CSound *sound) { m_snd = sound; }
	void SetMusic(CMidi *mid) { m_music = mid; }
	IDirectDrawSurface *DDLoadBitmap(IDirectDraw *pdd, LPCSTR szBitmap, int dx, int dy);
	HRESULT DDSetColorKey(IDirectDrawSurface *pdds, COLORREF rgb);
	HRESULT DDCopyBitmap(IDirectDrawSurface *pdds, HBITMAP hbm, int x, int y, int dx, int dy);
	DWORD DDColorMatch(IDirectDrawSurface *pdds, COLORREF rgb);
};

#endif // !defined(AFX_DIRECTWND_H__AFCA4B19_6A15_4B35_AD11_3EC5B819C20D__INCLUDED_)

⌨️ 快捷键说明

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