• 大小: 202KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: DirectX3d  

资源简介

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个文件信息

评论

共有 条评论