Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何防止Box2D中传感器对象上的隧道_C++_Objective C_Cocos2d Iphone_Box2d_Collision Detection - Fatal编程技术网

C++ 如何防止Box2D中传感器对象上的隧道

C++ 如何防止Box2D中传感器对象上的隧道,c++,objective-c,cocos2d-iphone,box2d,collision-detection,C++,Objective C,Cocos2d Iphone,Box2d,Collision Detection,我正在用cocos2d和box2d制作一个ipad游戏 在其他元素中,有一个快速移动的player对象和一堆静态line对象。我希望这些线能够检测玩家何时越过它们,而不是像墙一样作用于玩家对象或游戏中任何其他移动对象。所以我把线路设置成传感器 然而,Box2D用于快速移动物体碰撞检测的漂亮反隧道代码似乎不适用于设置为传感器的物体。所以现在我的播放器对象正好穿过这些线,可能五分之一的时间才会被检测到 我怎样才能让box2d每次都检测到精灵越界,不管它跑得有多快 编辑:我在box2D论坛上发现了这篇

我正在用cocos2d和box2d制作一个ipad游戏

在其他元素中,有一个快速移动的player对象和一堆静态line对象。我希望这些线能够检测玩家何时越过它们,而不是像墙一样作用于玩家对象或游戏中任何其他移动对象。所以我把线路设置成传感器

然而,Box2D用于快速移动物体碰撞检测的漂亮反隧道代码似乎不适用于设置为传感器的物体。所以现在我的播放器对象正好穿过这些线,可能五分之一的时间才会被检测到

我怎样才能让box2d每次都检测到精灵越界,不管它跑得有多快


编辑:我在box2D论坛上发现了这篇文章,有人在那里发现了类似的问题。但是,我不知道如何实现解决方案。也许它会帮助其他人,或者也许有人能更清楚地解释这个人做了什么。他们是这么说的:

好的,我让它工作了。有人在Box2D论坛上提出了一个解决方案,即使用光线投射,而不是依赖内置的碰撞检测。我能找到如何做这件事的说明


出于我的目的,我只是从最后一帧计算了精灵的速度,然后执行光线投射以查看它是否穿过任何线。回调给出了交叉点的x,y坐标。

Genpfault,你为什么删除我的“谢谢”?这在这里被认为是不合适的吗?对不起,我是stackoverflow的新手,只是一个小插曲,James。如果您在这里找不到答案,我还建议您将问题发布到Box2D论坛。开发人员通常在那里相当活跃。@JamesMorrison欢迎使用SO!是的,基本上,像“谢谢”、“你好”或在你的问题上签名都是不可取的。查看更多信息。好的。我以后会尽量记住这一点,对我来说有点不人道,但如果这就是这里的事情。谢谢你。。我是说。。。没关系:-)