gpt4 book ai didi

c++ - 如何防止 Box2D 中传感器对象的隧道效应

转载 作者:行者123 更新时间:2023-11-30 04:28:28 28 4
gpt4 key购买 nike

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

在其他元素中,有一个快速移动的播放器对象和一堆静态线对象。我希望线条能够检测到玩家何时穿过它们,而不是像玩家对象或游戏中任何其他移动对象的墙。所以我已经将线路设置为传感器。

但是,Box2D 用于快速移动物体碰撞检测的漂亮的反隧道代码似乎不适用于设置为传感器的物体。所以现在我的播放器对象直接穿过线条并且可能只被检测到五分之一。

我怎样才能让 box2d 每次都检测到越过线的 Sprite ,无论它的速度有多快?

编辑:我在 box2D 论坛上找到了这篇帖子,有人有类似的问题并找到了 a possible solution .但是我不遵循如何实现解决方案。也许它会帮助别人,或者也许有人可以更清楚地解释这个人做了什么。他们是这样说的:

最佳答案

好的,我让它工作了。有人在 Box2D 论坛上回复了一个解决方案,即使用光线转换而不是依赖内置的碰撞检测。我能够找到有关如何执行此操作的说明 in this excellent tutorial on RayWenderlich.com

出于我的目的,我只是从最后一帧开始计算 Sprite 的速度,然后执行光线转换以查看它是否穿过任何线。回调给出它穿过的位置的 x,y 坐标。

关于c++ - 如何防止 Box2D 中传感器对象的隧道效应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132282/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com