资源简介
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个文件信息
评论
共有 条评论