游戏开发论坛

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

新手!!如何在dx8下 操作位图的 淡入淡出?

[复制链接]

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2005-12-13 22:28:00 | 显示全部楼层 |阅读模式
我在dx8下 显示了一个位图,但是想实现一个淡入淡出的效果,不知道怎么搞!
大侠们帮忙啊!

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2005-12-14 00:31:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

一个简单的方法,就是在你的摄影机前面“挡上”两个三角形所组成的一个矩形,控制这个三角形的透明度,就实现的淡入淡出。

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2005-12-14 04:51:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

我是操作象素RGB的

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2005-12-14 10:30:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

二楼说的挺专业的,不过从思想上讲我明白意思。那么最主要的操作就成了对那两个三角的操作了,那对三角形的透明度控制是怎么实现的呢?

三楼的我在网上查了一下,好像普通的24bit bmp不能被操作RGB,好像要tga的比较多啊!不过不知道怎么在程序下加载tga格式的图呢!

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2005-12-14 12:08:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

实现控制ALPHA透明的方法有几种,给你一种的代码自己去理解。
————————————————————————————————————————
        g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
        g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
        g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
        g_pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);

        g_pd3dDevice->SetRenderState(D3DRS_TEXTUREFACTOR,D3DCOLOR_ARGB(alphaValue,0,0,0));
               
        g_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE);
        g_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE);
        g_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG2,D3DTA_TFACTOR);

        g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
————————————————————————————————————————————————
修改“alphaValue”的值,255是不透明,0是完全透明。

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2005-12-14 16:51:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

载到内存里管它什么文件,24位总比16位好操作一些,如果8位直接改调色板。

基于3D的2D就是2楼的方法了。

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2005-12-14 21:56:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

哦!谢谢大家了。
怎么我添加了#include <d3dx8.h>这个头文件之后,会出现一大堆不知明的错误啊!

17

主题

258

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2005-12-14 22:52:00 | 显示全部楼层

Re:新手!!如何在dx8下 操作位图的 淡入淡出?

终于又学会一种淡化方式了,以前我一直以为只能用材质才能淡化的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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