游戏开发论坛

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

求助一点基础的问题!谢谢

[复制链接]

9

主题

13

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2008-12-19 00:33:00 | 显示全部楼层 |阅读模式
刚刚开始学习DX,想请教大家几个问题!
这里指定了透明色
    With AlphaColor
        .high = &HFF
        .low = 0
    End With
这句
R_Player.SetColorKey DDCKEY_SRCBLT, AlphaColor
设置了透明!现在看到的图有黑边,很不好看!想问下高手怎么能把黑边去掉?
DX只支持BMP格式的图吗?
我看SDK说是要设置.SetColorKey参数为DDCKEY_COLORSPACE
我把这句改成R_Player.SetColorKey DDCKEY_COLORSPACE, AlphaColor
然后就显示什么什么错误,DDCKEY_COLORSPACE高亮显示

究竟怎么用啊?晕了,我看了好久了!

另外我把我写的那个文件也传上来了,高手帮忙啊!教教我吧!

以下是我摘自帮助:
设置DirectDrawSurface对象的关键色的值,如果硬件支持关键色的话。

HRESULT SetColorKey(

DWORD dwFlags,

LPDDCOLORKEY lpDDColorKey

);

参数:

dwFlags

指定要设置哪种关键色:

DDCKEY_COLORSPACE

如果关键色结构中包含了一个色彩空间,设置此标志。如果关键色结构中只包含了单个关键色,则不要设置此标志。

DDCKEY_DESTBLT

指定该关键色为位块传送操作中的目标关键色。

DDCKEY_DESTOVERLAY

指定该关键色为覆盖操作中的目标关键色。

DDCKEY_SRCBLT

指定该关键色为位块传送操作中的源关键色。

DDCKEY_SRCOVERLAY

指定该关键色为覆盖操作中的源关键色。

lpDDColorKey

一个DDCOLORKEY结构的地址,包含了DirectDrawSurface对象的新的关键色的值

sf_2008121903321.rar

479.24 KB, 下载次数:

77

主题

485

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
发表于 2008-12-19 10:02:00 | 显示全部楼层

Re:求助一点基础的问题!谢谢

D3DXSprite里,可以直接载入透明的PNG格式的图片。
还有屏蔽色。

11

主题

747

帖子

752

积分

高级会员

Rank: 4

积分
752
发表于 2008-12-19 23:14:00 | 显示全部楼层

Re:求助一点基础的问题!谢谢

给点PNG格式的代码吧,谢谢啦

7

主题

33

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2008-12-20 17:48:00 | 显示全部楼层

Re:求助一点基础的问题!谢谢

你的图像如果压缩过(有损压缩),那么颜色会有微小的改变,
比如某一点原来是你的透明色(比如 (0,0,0)),经过压缩,它可能会变成 (0,1,0) ,
于是这点就不会被ddraw透明处理了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-20 16:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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