AndEnginerevoluteJointの例についていくつか説明したいと思います。以下のコードでは、connectionLineのx1、y1とx2、y2は同じ値です。したがって、これにより単一のポイントが作成されます。なぜこれが行われるのですか?
final Line connectionLine = new Line(anchorFaceX + spriteWidth / 2, anchorFaceY +
spriteHeight / 2, anchorFaceX + spriteWidth / 2, anchorFaceY + spriteHeight / 2,
this.getVertexBufferObjectManager());
setPositionは以下で何をしますか?回転しているように見えるように線を変換しますか?
this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(anchorFace,
anchorBody, true, true){
@Override
public void onUpdate(final float pSecondsElapsed) {
super.onUpdate(pSecondsElapsed);
final Vector2 movingBodyWorldCenter = movingBody.getWorldCenter();
connectionLine.setPosition(connectionLine.getX1(), connectionLine.getY1(),
movingBodyWorldCenter.x * PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT,
movingBodyWorldCenter.y * PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT);
}
});
ご不明な点がございましたら、お気軽にお問い合わせください。体が動くときに体にしっかりとつながる線を作成する必要があります。