1

我想在 AnimatedSprite (box2d 的主体)和 Shape 之间进行碰撞检测。我正在使用下面的代码。但它给出了错误。“墙”是一个矩形,“玩家”是动画精灵。

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);

                    }
            }
    });
4

2 回答 2

4

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

于 2012-06-01T22:26:52.607 回答
0

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

于 2015-04-03T11:10:48.663 回答