游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2895|回复: 7

DirectDraw7

[复制链接]

19

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2004-12-5 14:37:00 | 显示全部楼层 |阅读模式
我想用DirectDraw7画一个动画,画出来
效果不错,但是背景图我不想要的,就是说..
Dim BackBmpSurf As DirectDrawSurface7       '背景图层
BackBmpSurf 图层里是一张全黑的图,我用
Dim key As DDCOLORKEY
key.low = 0
key.high = 0
BackBmpSurf.SetColorKey DDCKEY_SRCBLT, key    '除去黑色
但是没用,不能达到我想要的结果.好象只有前景图层能除去黑色
有高手能帮帮我吗?



我是想让背景透明,只剩下前景图层
sf_2004125143750.jpg

19

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-12-6 12:17:00 | 显示全部楼层

Re:DirectDraw7

怎么没高手救救我啊????????

19

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-12-6 12:18:00 | 显示全部楼层

Re: DirectDraw7

下面是我直接不加载背景图层的效果
sf_2004126121833.jpg

19

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-12-6 12:19:00 | 显示全部楼层

Re:DirectDraw7

我觉得好象只能是前景图层才能用SetColorKey ,背景图层不吃这招

其实我想要达到的效果就是看不见窗体,只有中间的小图片(也就是前景图层)在移动

另外我还试过...

'去背景色
    Dim rtn As Long
    BorderStyler = 0
    rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
    rtn = rtn Or WS_EX_LAYERED
    SetWindowLong hwnd, GWL_EXSTYLE, rtn
    SetLayeredWindowAttributes hwnd, &H0&,0, LWA_COLORKEY

去除窗体的黑色部分,那才搞笑哦,仍然是黑黑的背景,但是却可以点到背景下的东东,就好象是一层黑雾一样

真的是不知道怎么才能让背景图层透明啊......

25

主题

179

帖子

179

积分

注册会员

Rank: 2

积分
179
发表于 2004-12-6 21:04:00 | 显示全部楼层

Re:DirectDraw7

背景必须清除

Do
    清除背景
    绘图
Loop

背景清除好像是用这个
DirectDrawSurface7.SetFillColor

19

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-12-7 19:08:00 | 显示全部楼层

Re:DirectDraw7

谢谢你哈,button  但是我 说的是不要背景图层,当然也包括窗体在内
好象在DX中无法像一般情况下的那样去掉颜色就搂空了。。。。。。。
帮帮我啊。。。。

187

主题

600

帖子

606

积分

高级会员

Rank: 4

积分
606
QQ
发表于 2004-12-8 07:17:00 | 显示全部楼层

Re:DirectDraw7

SB!
首先使用吸管得到窗体的BackColor的RGB
然后DDraw绘图时首先
FillColor (R,G,B)
然后DrawSprite

19

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-12-9 09:37:00 | 显示全部楼层

Re:DirectDraw7

太谢谢 boywhp 了。。。。。
我试试。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 14:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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