游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4025|回复: 10

如何实现精灵的特效处理

[复制链接]

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2006-11-29 12:11:00 | 显示全部楼层 |阅读模式
在许多2DARPG里,鼠标移到精灵身上,精灵会高亮显示.我的方法是把精灵的每个点或0xc136,(16位565格式)这样RGB每一个单元色的头一位到是1,亮度加强了,可是这种方法是不是太慢了?
有的朋友叫我用GAMMACONTROL,但这个只能用于主页面啊?有的人叫我用D3D,可是引擎已经写了这么多了,不可能又改成D3D吧.

我在做魔法特效时,精灵走到冰魔法里,全身变蓝,我的方法是精灵图的每一个点都或0x1f,这样RGB中的B每一位都是1了,整个图确实变蓝.不知道这种方法是否可行?还有更好的办法吗?

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2006-11-29 12:13:00 | 显示全部楼层

Re:如何实现精灵的特效处理

Gamma应该不行吧。

鼠标移动高亮,2D里可以给精灵加个动态的蒙板,把精灵和一个白色图片做个20%Alpha混合,再画到屏幕上,不知道这样是否可行。

42

主题

137

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2006-11-29 17:15:00 | 显示全部楼层

Re:如何实现精灵的特效处理

感觉楼主和站长是一个意思。

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-11-29 21:30:00 | 显示全部楼层

Re:如何实现精灵的特效处理

Alpha混合占CPU资源更多啊!  外图人的教程是用异或,但不知道具体异或什么值....

20

主题

465

帖子

472

积分

中级会员

Rank: 3Rank: 3

积分
472
QQ
发表于 2006-11-30 12:17:00 | 显示全部楼层

Re:如何实现精灵的特效处理

我是直接使用另一个图片。
比如说,我做的按钮,鼠标移上去时会高亮显示(和WINDOWS的效果一样),这不是用什么其它的特效,而是直接用另一副图片。

15

主题

129

帖子

129

积分

注册会员

Rank: 2

积分
129
QQ
发表于 2006-12-1 21:22:00 | 显示全部楼层

Re:如何实现精灵的特效处理

这个问题我刚好考虑 正在实现中
我的想法是这样
使用各种算法得到一个一个带特效的surface,放在内存里面。(在第一次使用的时候建立)
然后再载入会后表面或者是前表面

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-1 21:46:00 | 显示全部楼层

Re:如何实现精灵的特效处理

楼上的,我现在就用你这个方法了,不过载入速度变慢了些了

15

主题

129

帖子

129

积分

注册会员

Rank: 2

积分
129
QQ
发表于 2006-12-2 19:39:00 | 显示全部楼层

Re:如何实现精灵的特效处理

我今天刚刚做了几个试过 没感觉慢 我CPU使用率基本上不会超过5%,一般显示都是0%

29

主题

81

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 2006-12-5 16:02:00 | 显示全部楼层

Re:如何实现精灵的特效处理

做一个光照混合吧~

2

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2006-12-6 00:17:00 | 显示全部楼层

Re:如何实现精灵的特效处理

感觉楼主说的效果类似ColorBlend……
如果不做预处理的话,不用硬件加速肯定会很慢。想想看那是逐字节操作memory啊=v=

我同劝lz转到D3D吧,可以保持接口不变重新实现一下就好
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 00:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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