游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2792|回复: 2

请教一个关于DIRECTDRAW初始化的问题

[复制链接]

7

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2005-4-6 17:28:00 | 显示全部楼层 |阅读模式
谁能告诉我怎么查自己的directdraw接口是多少啊?
还有就是在定义指向directdraw对象的指针的时候
选择数据类型该怎么选啊,就是那些DIRECTDRAW4啊DIRECTDRAW7啊之类的
对于不同类型的数据类型,是否有很大区别啊

这些概念性的东西查MSDN没查到
谁能给我全面解释一下啊?
多谢了

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2005-4-7 12:45:00 | 显示全部楼层

Re:请教一个关于DIRECTDRAW初始化的问题

// 全局对象
LPDIRECTDRAW7        lpDD;                                                // DirectDraw object defined in DDRAW.H
        LPDIRECTDRAWSURFACE7 lpDDSPrimary;                                // DirectDraw primary surface
        LPDIRECTDRAWSURFACE7 lpDDSBack;                                        // DirectDraw back surface
        DDSURFACEDESC2                 ddsd;                                                // DirectDraw 表面描述结构       

// 初始化DirectDraw 对象 协同等级 显示模式 主表面 后表面
bool CDxDraw::InitDxDraw(HWND hWnd)
{
        HRESULT ddrval ;

        ddrval = DirectDrawCreateEx(NULL, (LPVOID *)&lpDD, IID_IDirectDraw7, NULL);
        if(ddrval  != DD_OK)
                return false;

        ddrval = lpDD->SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
        if(ddrval  != DD_OK)
                return false;
       
        ddrval = lpDD->SetDisplayMode(640, 480, 16, 0, 0);
        if(ddrval != DD_OK)
                return false;
       
        // Create the primary surface with one back buffer.
        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;
       
        ddsd.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER;
        ddrval = lpDDSPrimary->GetAttachedSurface(&ddsd.ddsCaps, &lpDDSBack);
        if(ddrval != DD_OK)
                return false;

        return true;
}

7

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
 楼主| 发表于 2005-4-7 17:43:00 | 显示全部楼层

Re:请教一个关于DIRECTDRAW初始化的问题

明白了
谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-25 04:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表