Farseer:碰撞检测,但没有进一步的身体交互

发布于 2025-01-08 10:35:37 字数 82 浏览 0 评论 0原文

我有一个球,可以滚动穿过迷宫般的世界。如果球越过某条线,我希望事件发生。我不想在这条线上放置纹理,也不希望球偏转。怎么办呢?

谢谢你!

I have a ball that rolls through a maze-like world. I want an event to rise if the ball crosses a certain line. I don't want to place a texture at this line and I don't want the ball to be deflected. How can it be done?

Thank you!

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

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

发布评论

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

评论(1

霞映澄塘 2025-01-15 10:35:37

在 Farseer 3.3.1 中,您可以创建一个主体,例如 sensorLine,其夹具的 Fixture.IsSensor 设置为 true。这样灯具就不会参与碰撞。然后,您可以通过迭代 sensorLine.ContactList 来轮询固定装置是否有重叠的主体,或者您可以注册对世界实例的 World.ContactManager.BeginContact 事件的回调。

听起来EdgeShape将是用于sensorLine中的夹具的形状。如果您只创建一个 Farseer 主体,屏幕上将看不到任何内容,因此您无需担心将纹理放置在任何地方。

In Farseer 3.3.1 you can create a body, say sensorLine with a fixture that has Fixture.IsSensor set to true. That way the fixture won't take part in collisions. You can then poll the fixture for overlapping bodies by iterating over sensorLine.ContactList or you can register a callback to the World.ContactManager.BeginContact event of your world instance.

It sounds like EdgeShape would be the kind of shape to use for the fixture in sensorLine. If you only create a Farseer body, nothing will be visible on screen, so you need not worry about placing textures anywhere.

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