2d 游戏,然后用 png 图片作为游戏素材,现在的方案是检测两个矩形重叠的部分,查看其中有没有黑色的像素点 但是这么做并不精确 https://i.imgur.com/GU3jeEt.png 会出现如图情况,明明没有撞到的因为右下角出现了黑块就认为相撞了,请问有什么好的解决方案来精确的确定两个物体是否相撞吗?
1
zmj1316 2016-06-09 16:38:23 +08:00 1
细分这个矩形,或者更彻底的搞个包围盒什么的?
|
2
wodesuck 2016-06-09 18:57:26 +08:00 1
不是很懂问题是什么……难道不是应该把图片右下角的黑块扣掉吗
碰撞检测一般就是八分树粗略找一下包围盒相交的,然后再细判 |
8
xmbaozi 2016-06-09 19:40:11 +08:00 via Android
矩形直接根据坐标,长宽判断就好啦
|
9
codecrash OP @xmbaozi 并不是简单的矩形,这个矩形并没有被全部占满,有一部分是透明的,也就是并不被物体占据,不应该简单将其处理为物体的一部分
|
11
jerain 2016-06-09 19:56:20 +08:00 1
我用 cocos 的时候,这家公司的工具是很不错的
https://www.codeandweb.com |
12
bingwenshi 2016-06-09 20:09:01 +08:00 1
如果是这个小龙的话,可以用圆形来判断吧? 肯定没法根据像素来判断啊,那计算量太重了
|
13
codecrash OP @bingwenshi 怎么说?
|
14
likai 2016-06-09 20:12:45 +08:00
要精确。碰撞钢体最好用不规则的吧。直接一个圆形或者四方形都不那么精解确
|
15
ZyZyZzz 2016-06-09 20:15:50 +08:00
你这是要做像素级别的精细碰撞?
如果是的话,好奇为什么会有这种需求 |