java - 使用 Box2d(适用于 Android)的碰撞检测?

标签 java android box2d collision

有人可以解释一下使用 box2d for android 进行碰撞检测的方式。我无法理解 BBContactListener 的工作方式。

BBContactListener listener = new BBContactListener();
world = new BBWorld(gravity, doSleep);
world.SetContactListener(listener);

如何使用那个监听器?我应该扩展标准来创建自己的标准还是如何创建?

最佳答案

我没有为 android 使用 box2d,但我认为那里的想法是一样的。您必须实现联系人处理方法。这就是在 C++ 中执行此操作的方法。

class ContactListener : public b2ContactListener
{
public:
    ContactListener();
    ~ContactListener();

    void BeginContact(b2Contact *contact) {...}
    void EndContact(b2Contact *contact) {...}
    void PreSolve (b2Contact *contact, const b2Manifold *oldManifold) {...}
    void PostSolve (b2Contact *contact, const b2ContactImpulse *impulse) {...}
};

然后把这个类传递给'b2World'

关于java - 使用 Box2d(适用于 Android)的碰撞检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951392/

相关文章:

android - 用于数据发布的 native 表与 ListView

android - 如何在android中动态地将项目添加到微调器?

c++ - Box2d c++ 与 ActionScript b2Body SetPosition 有什么相似之处?

java - 使用 lombok 为一个字段添加两个不同的 setter

java - java中如何从某个单词开始读取字符串?

java - Java 中的语言识别

android - 如何使 flutter 应用程序响应?

java - 可以从多层面板和表单获取所有表单输入

box2d: GetLinearVelocity() 检测运动?

android andengine remove physics body crash 应用程序