作者yan04870449 (一片死寂)
看板GameDesign
标题[程式] 2D游戏中的碰撞
时间Thu Aug 6 22:52:24 2009
关於在2D游戏里面的一些碰撞判断,小弟有一些疑问。
我在翻书的时候,书上曾说过碰撞的判断就是图与图之间的判断
,但是图大多都是四四方方的,所以在判断的时候如何做到"精准"
这就有些学问了,书上只有点到而已,并没有说明。
--------- ------------
- A - - A -
- ●_ - _ _ - ● -
- _ - _ ------------_ _ _ _ _
----_----● _ _ _
_ B _ _ ● _
_ _ _ _ _ _ _ _ _ _ _
可能画的有点烂...不过书上大概是这样子讲的,右图的判断比较好写
,但是相对的精准度比较低,左边的当然精准度就提高了,但相对就要
多写好几行CODE,,这两种我大概都知道怎麽写,但是我想知道如果真
的要写到完成是图与图相碰(圆与圆碰在一起)才算碰撞的话,理论上来
讲应该要怎麽做,或者是说有什麽方向可参考呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.128.56
1F:推 NDark:我有个想法.... 08/06 22:58
2F:推 asleisureto:另个想法 可用数个方框来代表范围(相对於一个方框) 08/06 23:20
3F:→ asleisureto:方框越多当然就越精准啦XD 最高等级就是精准度到像素 08/06 23:21
4F:→ asleisureto:等级(误) 08/06 23:21
5F:推 teexit:怎麽不用PIXEL检察? 08/07 09:02
6F:推 help0430:2d可以用像素是否重叠来侦测碰撞的发生 08/07 14:22
7F:→ Splash5:比较用判定区域之类的方法 就是一个sprite真正会有判定的 08/07 15:04
8F:→ Splash5:区域 通常是方形 然後用数学里面两个方形有无重叠部份的 08/07 15:04
9F:→ Splash5:计算就能得到两个判定区是否有碰撞到 08/07 15:05
10F:→ Splash5:圆形的话 用多个判定区域来作就可以了 08/07 15:06
11F:→ Splash5:像很多射击游戏的中弹判定都是这样作 08/07 15:06
12F:→ killman:如果还要包含碰撞反应 每张图可能都得用多边形去定义外框 08/07 15:33
13F:推 cowbaying:现行的方法较多是利用图片的alpha 值来处理 08/07 19:51