游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1974|回复: 3

directx非全屏模式下如何建立Surface??

[复制链接]

25

主题

81

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2005-10-27 18:58:00 | 显示全部楼层 |阅读模式
directx非全屏模式下如何建立Surface,怎么样把它显示出来

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
发表于 2005-10-27 20:50:00 | 显示全部楼层

Re: directx非全屏模式下如何建立Surface??

下载程序:

sf_20051027204959.rar

5.1 KB, 下载次数:

25

主题

81

帖子

85

积分

注册会员

Rank: 2

积分
85
 楼主| 发表于 2005-10-28 14:51:00 | 显示全部楼层

Re:directx非全屏模式下如何建立Surface??

跟本问的就不是这一回事

1

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2005-10-29 09:21:00 | 显示全部楼层

Re: directx非全屏模式下如何建立Surface??

Set DDraw = Dx.DirectDrawCreate("")
'设置协议层
DDraw.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL

'建立主页面
With ddsd  
   .lFlags = DDSD_CAPS
   .ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
End With
Set DDMainSurface = DDraw.CreateSurface(ddsd)
'建立离屏页面
With ddsd
  .lFlags = DDSD_CAPS Or DDSD_WIDTH Or DDSD_HEIGHT
  .ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
  .lWidth = Width
  .lHeight = Height
End With
Set DD_CreateSurface = DDraw.CreateSurface(ddsd)
......................
......................
......................

直接在主页面画图, 或在离屏页面画好后blt  到主页面即可。
如:
Dim r1 As RECT, r2 As RECT
设置r1,r2
.......
Taget_Surface.Blt r1, Source_Surface, r2, DDBLT_KEYSRC Or DDBLT_WAIT

很重要一点: 在blt前要作好裁剪,否则嘿嘿....
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 10:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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