初学DirectDraw,问一个接口选择的问题

bluefee 2005-07-12 11:49:10
可以这样定义,使用DirectX7的接口
LPDIRECTDRAW7 g_pDD = NULL;
LPDIRECTDRAWSURFACE7 g_pDDSPrimary = NULL;
但要是这样定义呢?使用的是什么接口?
LPDIRECTDRAW g_pDD = NULL;
LPDIRECTDRAWSURFACE g_pDDSPrimary = NULL;


DDSURFACEDESC2 ddsd;
DDSCAPS2 ddscaps;



DDSURFACEDESC ddsd;
DDSCAPS ddscaps;

又有什么区别呢?
我的机器上装了DirectX7sdk和DirectX9sdk,程序是如何选择接口的呢?
一般写程序的时候采用哪种写法呢?
谢谢大家

...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
quick777 2005-08-05
  • 打赏
  • 举报
回复
DirectX为了向下兼容,DirectDrawCreate函数创建的只是LPDIRECTDRAW

的结构,

如果使用高版本的话就必须用QueryInterface函数来调用,

所以,
先声明一个LPDIRECTDRAW 的pDD,然后用QueryInterface来取得高版本

DirectDraw物件,
如果使用高版本LPDIRECTDRAWSURFACE7的页面,所配合的就页面结构ddsd
必须是DDSURFACEDESC2的结构。

....END. //多多交流 my qq: 307771687
world666 2005-07-31
  • 打赏
  • 举报
回复
用默认的就行了
godfly000 2005-07-15
  • 打赏
  • 举报
回复
LPDIRECTDRAW7 g_pDD = NULL;
LPDIRECTDRAWSURFACE7 g_pDDSPrimary = NULL;
DDSURFACEDESC2 ddsd;
DDSCAPS2 ddscaps;
tslkfyh 2005-07-13
  • 打赏
  • 举报
回复
ddraw在7。0以后就不再开发了,所以就用LPDIRECTDRAW7就可以了,其它的像input 等都可以使用新版的,毕竟在后续版本的功能上会更好
蒋晟 2005-07-12
  • 打赏
  • 举报
回复
选择没有后缀数字的,这样可以不修改代码就使用新版本的接口

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧