当前位置:主页 > 开发频道 > 游戏开发 > 2D图形 >

2D iPhone游戏凸多边形碰撞检测,分离轴定理算法

时间: 2010-01-26 13:47 点击:

作者 逍遥一狂 原帖地址 http://www.cocoachina.com/bbs/read.php?tid-12741-fpage-2.html 应用场景:2D游戏凸多边形碰撞,比像素碰撞精确度低点,比方框碰精确度要高。 限制条件:2D。不能用于凹多边
作者  逍遥一狂

原帖地址  http://www.cocoachina.com/bbs/read.php?tid-12741-fpage-2.html

应用场景:2D游戏凸多边形碰撞,比像素碰撞精确度低点,比方框碰精确度要高。

限制条件:2D。不能用于凹多边形,凹多边形得拆分成凸多边形或者三角形来做。运动速度很快了会有穿越效果。不带任何物理,如果需要反弹等等物理效果,就必须上物理引擎了。

最佳实践:最好能用盒子先检测一下然后再用分离轴来做碰撞检测。否则屏幕上精灵一多还是挺费电的。

参考文档
http://www.codeproject.com/KB/GDI-plus/PolygonCollision.aspx

参考文档中的代码是ActionScript的,我移植成C99的,附件的包是Xcode项目,不过C源代码可以单提出来用于任何支持C的设备

C99标准里只有_Bool,没有bool,需要包含头文件<stdbool.h>才可以用bool, true, false,没包含前的编译错误弄得我莫名其妙的

还有大家直接用的话最好先充分测试。这个代码写好了只测试了几个例子。如果有命名冲突,得自己搞定,呵呵。

 
CollisionDetection.zip

顶一下(0)

0%

踩一下(0)

0%

发表评论

评价: 中立 好评 差评 请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

表情: