와 스프라이트를 교체하고 일부 물리학로 이동하는 시간 생각합니다. AndEngine Physics Example을 따라 볼을 볼에 넣기 위해 가속도계를 사용하여 볼을 롤링하는 롤 - 어 - 볼 게임을 시작했습니다. 나는 볼을 굴리는 데 성공했지만 구멍에 떨어 뜨릴 수는 없습니다. 나는 Googled했고, 모든 것을 시험해 보았다. 그러나 내가 얻을 수있는 최고는 구멍과 충돌한다. 그리고 그것 위에서 튀거나, 굴러 간다.는 Andengine Box2D의 지금 년간 내가 AndEngine를 사용하고 다른
여기에 몇 가지 코드가 있습니다.
이것은 내 공입니다.
ball = new AnimatedSprite(pX, pY,this.mBallFaceTextureRegion,this.getVertexBufferObjectManager());
bodyBall = PhysicsFactory.createCircleBody(this.mPhysicsWorld,ball,BodyType.DynamicBody, FIXTURE_DEF);
bodyBall.setUserData("Ball");
ball.animate(200);
this.mScene.attachChild(ball);
this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(ball, bodyBall, true, true));
티아는 내 구멍입니다.
hole = new Sprite(pX, pY, this.hHoleFaceTextureRegion, this.getVertexBufferObjectManager());
bodyHole = PhysicsFactory.createCircleBody(this.mPhysicsWorld, hole, BodyType.StaticBody, FIXTURE_DEF);
bodyHole.setUserData("Hole"); // ID for hole
this.mScene.attachChild(hole);
this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(hole, bodyHole, false, false));
이 내가 해봤 코드의 일부와 함께 현장 onCreateScene() 안에 내 ContactListener입니다.
this.mPhysicsWorld.setContactListener(new ContactListener() {
@Override
public void beginContact(final Contact pContact) {
final Body BodyA = pContact.getFixtureA().getBody();
final Body BodyB = pContact.getFixtureB().getBody();
if(BodyA.getUserData() == "Ball" && BodyB.getUserData() == "Hole"){
ball.setPosition(hole);
// BodyA.setType(BodyType.StaticBody); // bodyBall
//mPhysicsWorld.destroyBody(BodyB); // bodyHole
}else if(BodyA.getUserData() == "Hole" && BodyB.getUserData() == "Ball"){
ball.setPosition(hole);
// BodyB.setType(BodyType.StaticBody); // bodyBall
// hole.dispose(); // bodyHole
}
}
사람은 공 또는 구멍으로 떨어지는 공을 시뮬레이션하는 다른 방법에 대한 구멍을 교환하는 방법을 설명하시기 바랍니다 수 없습니다. 감사합니다 해결하고자