【发布时间】:2015-12-28 09:20:46
【问题描述】:
所以我正在尝试制作单向墙,这意味着我的演员只能通过将这个对象扔到一侧(例如只能从底部或上部)。 我开始阅读本教程:one-way-walls 但是当我在检查演员的方向后尝试禁用碰撞时,它不起作用。 我认为我的问题可以通过这部分来解决
由于我们将使用每次碰撞仅发生一次的 BeginContact 事件,因此我们只能使用 SetEnabled 一次来改变接触的行为。问题是联系人将在每一步后恢复为启用状态。我们可以记下我们禁用了哪些联系人,然后每次在 PreSolve 中检查他们的列表,但这有点效率低下,而且比我今天可以打扰的工作要多。或者实际上的任何一天:) 因此,我们将悄悄潜入 b2Contact.cpp 并注释掉 Update 函数开头的行,该函数重新启用联系人。完成后,它应如下所示: // 重新启用此联系人。 //m_flags |= e_enabledFlag;
问题是我在 AndroidStudio 中使用的是 java 版本的 libgdx,我不知道如何查找和更改这段代码。 所以我需要一种改变它的方法,或者一种不同的解决方案来避免这种碰撞状态在每个循环中“重新启用”。
【问题讨论】:
标签: java android-studio libgdx box2d collision