Andengine中的碰撞检测

时间:2012-06-01 08:14:01

标签: android box2d collision-detection sprite andengine

我想在AnimatedSprite之间进行碰撞检测,它是box2d的Body和Shape.I'm使用下面的代码。但是它给出了错误。 “walls”是一个矩形形状,“player”是animatedsprite。

scene.registerUpdateHandler(new IUpdateHandler() {
            public void reset() { }

            public void onUpdate(final float pSecondsElapsed) {
                    if(walls.collidesWith(player)) {
                        walls.setColor(1, 0, 0);
                    } else {
                        walls.setColor(0, 1, 0);
                    }



                    if(!mCamera.isRectangularShapeVisible(player)) {
                        walls.setColor(1, 0, 1);

                    }
            }
    });

2 个答案:

答案 0 :(得分:4)

collidesWith函数不是box2D碰撞检测的一部分。您需要使用Box2D ContactListener来监听引擎中的冲突并在那里处理它们。

答案 1 :(得分:0)

在AndEngine box2d中,您可以通过ContractListener检测碰撞。您可以在AndEngine box2d中查看有关如何使用ContactListener的有用详细信息。 click here