游戏开发论坛

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

我用directdraw,什么办法可以判断两个不规则图形位置是否

[复制链接]

4

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-9-30 16:10:00 | 显示全部楼层 |阅读模式
我用的是DirectDraw
我要实现的是这样的,实现一颗炮弹击中一个飞碟,然后飞碟爆炸。
因此炮弹是一个图片,其中背景部分为黑,设置colorkey为黑色,实现背景透明。
飞碟也是一个图片,其中背景也为黑,设置colorkey为黑色,也实现背景透明。

我现在要实现的就是,炮弹图片的非背景区域如果和飞碟的非背景区域重叠在一起的话,飞碟就爆炸。
但由于炮弹部分和飞碟部分都是形状不规则的图形区域,无法用rect这样的简单区域来描述。我该如何知道他们重叠了呢?
[em16] [em16] [em16] [em16] [em16] [em16] [em16]

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
发表于 2004-9-30 16:43:00 | 显示全部楼层

Re:我用directdraw。用什么办法可以判断两个不规则图形所

吧飞碟的图像分成几个矩形.
用大小不同的矩形括出飞碟的轮廓,矩形的数量越多,越细致.
类似飞机.飞机的机身一个竖长的,翅膀一个长的,尾翼一个短的,
三个括出飞机的轮廓.判断是用这三个RECT算

4

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2004-9-30 16:56:00 | 显示全部楼层

Re: 我用directdraw。用什么办法可以判断两个不规则图形所

那如果是这样的话,我不是无法拿出通用的函数出来了。任意一个图形都要具体分析,如果有很多不同元素,不是惨了:(

46

主题

281

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
发表于 2004-9-30 18:10:00 | 显示全部楼层

Re:我用directdraw。用什么办法可以判断两个不规则图形所

用不着那么精确吧,全当成圆就行了

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
发表于 2004-9-30 19:22:00 | 显示全部楼层

Re:我用directdraw。用什么办法可以判断两个不规则图形所

可以先用RECT做粗略的判断,如果相交再根据象素做更细致的判断

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-9-30 19:23:00 | 显示全部楼层

Re:我用directdraw。用什么办法可以判断两个不规则图形所

同意

211

主题

314

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2004-9-30 23:16:00 | 显示全部楼层

Re:我用directdraw,什么办法可以判断两个不规则图形位置是

这叫脏区计算现在新出的显卡已经吧它硬件化了只要有图像重叠GPU就自动判断那点出现脏区了

20

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
发表于 2004-10-1 08:56:00 | 显示全部楼层

Re:我用directdraw,什么办法可以判断两个不规则图形位置是

你也可以用WinAPI…
一样有这个功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-18 20:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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