游戏开发论坛

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

请教一个关于SetDisplayMode的问题

[复制链接]

1

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2004-2-25 15:47:00 | 显示全部楼层 |阅读模式
为什么我调用了SetDisplayMode图片就不能正常显示呢

部分源码如下
BOOL InitDDraw(HWND hWnd){
        ddrval=DirectDrawCreate(NULL,&lpDD,NULL);
        if(ddrval!=DD_OK)
                return false;

        ddrval=lpDD->SetCooperativeLevel(hWnd,DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN);
               
        if(ddrval!=DD_OK)
                MessageBox(hWnd,"SetCooperativeLevel Failed","Notice",MB_OK);
       
这里注释掉就可以显示了。why ?(我试过其他的现实模式)       
//        ddrval=lpDD->SetDisplayMode(800,600,8);
//        if(ddrval!=DD_OK)
//                MessageBox(hWnd,"SetDisplayMode Failed","Notice",MB_OK);

        DDSURFACEDESC 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;
       
        ddrval = DDReLoadBitmap(lpDDSPrimary, "map01.bmp");

        if(ddrval != DD_OK)
                return false;

        return true;
}

注:DDReLoadBitmap是msdn里dutil.cpp里的通用函数

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-2-26 21:59:00 | 显示全部楼层

Re:请教一个关于SetDisplayMode的问题

你调用SetDisplayMode的参数没有给全啊,当然就会失败了。

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-2-26 23:13:00 | 显示全部楼层

Re:请教一个关于SetDisplayMode的问题

SetDisplayMode(800, 600, 8, 0, 0);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-25 13:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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