資源簡介
DirectX實例:3維地圖的編輯;DirectX實例:3維地圖的編輯.

代碼片段和文件信息
//?DirectDraw.cpp:?implementation?of?the?CDirectDraw?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“DirectDraw.h“
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDirectDraw::CDirectDraw()
{
lpDD=NULL;
lpDDSPrimary=NULL;
lpDDSBack=NULL;
// lpDDSOther=NULL;
lpClip=NULL;
}
CDirectDraw::~CDirectDraw()
{
if(lpDDSPrimary!=NULL)
????{
lpDDSPrimary->Release();
????????lpDDSPrimary=?NULL;
????}
/* if(lpDDSOther!=NULL)
{
lpDDSOther->Release();
lpDDSOther=NULL;
}
*/
if(lpClip!=NULL)
{
lpClip->Release();
lpClip=NULL;
}
if?(lpDD!=NULL)???????????????????
{
lpDD->Release();
lpDD=NULL;
}
}
//------?初始化DirectDraw-------//
BOOL?CDirectDraw::Create(HWND?hWnd)
{
HRESULT?ddrval;
LPDIRECTDRAW?pDD;
????//?Create?the?main?DirectDraw?object
????ddrval?=?DirectDrawCreate(NULL?&pDD?NULL);
????if?(ddrval?!=?DD_OK)
return?FALSE;
????//?Fetch?DirectDraw4?interface
????ddrval?=?pDD->QueryInterface(IID_IDirectDraw4?(LPVOID?*)?&?lpDD);
????if?(ddrval?!=?DD_OK)
return?FALSE;
????//?Set?our?cooperative?level
????ddrval?=?lpDD->SetCooperativeLevel(hWnd/*DDSCL_NORMAL*/DDSCL_EXCLUSIVE?|?DDSCL_FULLSCREEN?);
????if?(ddrval?!=?DD_OK)
return?FALSE;
//?create?the?clipper
ddrval=?lpDD->CreateClipper(NULL&lpClipNULL);
????if?(ddrval?!=?DD_OK)
return?FALSE;
//?set?the?window?for?the?clipper
lpClip->SetHWnd(0hWnd);
//?Set?the?display?mode
ddrval?=?lpDD->SetDisplayMode(8006001600);
if?(ddrval?!=DD_OK)
return?FALSE;
????//?Create?the?primary?surface?with?1?back?buffer
DDSCAPS2?ddscaps;
ZeroMemory(&ddsdsizeof(ddsd));
????ddsd.dwSize?=?sizeof(?ddsd?);
????ddsd.dwFlags?=?DDSD_CAPS?|?DDSD_BACKBUFFERCOUNT;
????ddsd.ddsCaps.dwCaps?=?DDSCAPS_PRIMARYSURFACE?|
??????????????????????????DDSCAPS_FLIP?|?
??????????????????????????DDSCAPS_COMPLEX;
????ddsd.dwBackBufferCount?=?1;
????ddrval?=?lpDD->CreateSurface(?&ddsd?&lpDDSPrimary?NULL?);
if?(ddrval!=DD_OK)
return?FALSE;
//?Set?the?Clipper?for?the?Primary?Surface
lpDDSPrimary->SetClipper(lpClip);
//?Fetch?back?buffer?interface
ddscaps.dwCaps=DDSCAPS_BACKBUFFER;
ddrval=lpDDSPrimary->GetAttachedSurface(&ddscaps&lpDDSBack);
if?(ddrval!=DD_OK)
return?FALSE;
/*
ZeroMemory(&ddsd?sizeof(ddsd));
????ddsd.dwSize?????????=?sizeof(ddsd);
????ddsd.dwFlags????????=?DDSD_CAPS?|?DDSD_HEIGHT?|DDSD_WIDTH;
ddsd.ddsCaps.dwCaps?=?DDSCAPS_OFFSCREENPLAIN?|?DDSCAPS_SYSTEMMEMORY;
ddsd.dwWidth????????=?800;
ddsd.dwHeight???????=?600;
????ddrval?=?lpDD->CreateSurface(&ddsd?&lpDDSOther?NULL);
????if?(ddrval?!=?DD_OK)
????????return?FALSE;
*/
//?返回成功
return?TRUE;
}
void?CDirectDraw::CleanSurface()
{
DWORD?Color=RGB(000);
DDBLTFX?ddfx;
ddfx.dwSize=sizeof(ddfx);
ddfx.
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4963??2002-04-16?12:57??MapEdit\MapEdit\DirectDraw.cpp
?????文件???????1009??2002-04-16?12:57??MapEdit\MapEdit\DirectDraw.h
?????文件??????14535??2002-09-05?18:07??MapEdit\MapEdit\MapEdit.cpp
?????文件???????4574??2002-04-14?10:32??MapEdit\MapEdit\MapEdit.dsp
?????文件????????539??2002-04-13?18:45??MapEdit\MapEdit\MapEdit.dsw
?????文件??????40960??2002-09-05?17:45??MapEdit\MapEdit\MapEdit.exe
?????文件??????31284??2002-04-14?10:22??MapEdit\MapEdit\Menu.aps
?????文件??????10494??2002-09-05?18:07??MapEdit\MapEdit\Menu.cpp
?????文件???????2266??2002-04-17?11:21??MapEdit\MapEdit\Menu.h
?????文件???????1451??2002-04-14?10:22??MapEdit\MapEdit\Menu.rc
?????文件????????500??2002-04-14?10:22??MapEdit\MapEdit\resource.h
?????文件????????290??2002-03-26?20:03??MapEdit\MapEdit\StdAfx.cpp
?????文件????????773??2002-04-13?21:00??MapEdit\MapEdit\StdAfx.h
?????文件???????1111??2002-09-05?17:42??MapEdit\MapEdit\先讀我.txt
?????文件??????14408??2008-05-16?09:27??MapEdit\MapEdit\map\map.map
?????文件??????53318??2002-04-17?10:44??MapEdit\MapEdit\pic\About.BMP
?????文件??????58678??2002-04-17?10:30??MapEdit\MapEdit\pic\alltile0.BMP
?????文件?????961078??2002-04-17?10:12??MapEdit\MapEdit\pic\alltile1.BMP
?????文件??????32118??2002-04-15?12:47??MapEdit\MapEdit\pic\Exit.BMP
?????文件???????1718??2002-04-15?12:54??MapEdit\MapEdit\pic\Exit_No.BMP
?????文件???????1718??2002-04-15?12:54??MapEdit\MapEdit\pic\Exit_No_On.BMP
?????文件???????1718??2002-04-15?12:54??MapEdit\MapEdit\pic\Exit_Yes.BMP
?????文件???????1718??2002-04-15?12:54??MapEdit\MapEdit\pic\Exit_Yes_On.BMP
?????文件??????60918??2002-04-16?20:03??MapEdit\MapEdit\pic\TileMenu0.BMP
?????文件????????358??2002-04-14?20:22??MapEdit\MapEdit\pic\TileMenu0_Down.BMP
?????文件????????358??2002-04-14?20:23??MapEdit\MapEdit\pic\TileMenu0_Down_On.BMP
?????文件????????358??2002-04-14?20:23??MapEdit\MapEdit\pic\TileMenu0_End.BMP
?????文件????????358??2002-04-14?20:23??MapEdit\MapEdit\pic\TileMenu0_End_On.BMP
?????文件????????358??2002-04-17?11:49??MapEdit\MapEdit\pic\TileMenu0_Move.BMP
?????文件????????358??2002-04-17?11:50??MapEdit\MapEdit\pic\TileMenu0_Move_On.BMP
............此處省略18個文件信息
評論
共有 條評論