我怎么能与线本身碰撞?

时间:2014-04-24 15:18:15

标签: ios cocos2d-iphone

我正在为我的游戏提供这个很棒的平滑线描绘教程, http://www.merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/#.U1kiCJG6_Ez

我的问题是我不能碰到线。

2 个答案:

答案 0 :(得分:1)

如果您的行是多个线段的列表/数组(教程链接就是这种情况),则添加新线对象时,请检查阵列中所有先前的段以进行交叉。

这可以很容易地完成,因为how to detect line intersection上的stackoverflow上有多个解决方案。

答案 1 :(得分:0)

在示例代码中,所有内容都只是在屏幕上呈现。没有实施碰撞检测系统的任何部分。

为了实现其中之一,最简单的方法之一是将构成该行的所有点放在NSMutableArray中,并且每次要绘制新点时,都可以针对包含在中的所有点进行检查。数组。如果新点已经包含在数组中,则表示该行与您尝试绘制的新点之间存在冲突。

从那以后,您可以研究标准碰撞系统,并实施其中之一。 Cocos2D还支持2个物理引擎:Box2D和Chipmunk,它们都有自己的碰撞检测。为了提高效率,您可能希望使用其中一种而不是实现自己的系统。

相关问题