Я хочу получить обнаружение столкновения между AnimatedSprite, который является Body of box2d и Shape.I'м с использованием кодов ниже. Но это дает ошибку. "Стены" представляют собой прямоугольную форму, "игрок" является анимированным.
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);
}
}
});
Функция collidesWith не является частью обнаружения столкновения box2D. Вам нужно использовать Box2D ContactListener для прослушивания коллизий в движке и обработки их там.
В AndEngine box2d вы можете обнаружить столкновение с помощью ContractListener. Вы можете проверить полезные сведения о том, как использовать ContactListener в AndEngine box2d. кликните сюда