box2d:更大的可点击/可触摸区域

发布于 2024-08-15 18:26:59 字数 164 浏览 4 评论 0原文

我在使用 Cocos2D 的 iPhone 应用程序上使用 Box2D。 我使用鼠标关节通过触摸来拖动对象。 处理触摸事件以使用 AABB 查询找到相应的 Box2D 主体。

我想扩展 Box2D 主体的面积。这样,我可以触摸我的身体并仍然做出反应。

有没有办法做到这一点?谢谢!

I'm using Box2D on my iPhone app using Cocos2D.
I'm using mouse joint to drag objects by touch.
The touch event is handled to find the corresponding Box2D body using AABB queries.

I would want to extend the area of Box2D bodies. In this way, I can touch approximately my body and still respond.

Does it exist any way to do this? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

余罪 2024-08-22 18:26:59

您在 AABB 查询中使用的 b2AABB 对象是一个矩形;只是让它变大。

您还可以在鼠标指针下方放置一个具有合适半径的传感器圆圈。这比 AABB 查询更准确,因为它会触发实际的形状碰撞,而不仅仅是告诉您哪些边界框重叠。

The b2AABB object you use in the AABB query is a rectangle; just make it bigger.

You can also place a sensor circle with a suitable radius under the mouse pointer. This is more accurate than an AABB query, since it triggers on actual shape collisions rather than just telling you which bounding boxes overlap.

浪荡不羁 2024-08-22 18:26:59

如果您制作一个比 Box2D 对象更大的不可见对象并使用它来感应触摸,会怎么样?使其成为 Box2D 对象的父对象。然后您可以将未处理的事件传递到您的 Box2D 主体。

What if you made an invisible object that is the larger that your Box2D object and use that to sense the touch. Make this the parent of your Box2D object. Then potentially you can pass the unhandled events down to your Box2D body.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文