BoundCameraをカスタマイズし、updateメソッドを次のようにオーバーライドしました。
@Override
public void onUpdate(float pSecondsElapsed) {
// TODO Auto-generated method stub
super.onUpdate(pSecondsElapsed);
if(chaseEntity != null) {
tempHeight = (chaseEntity.getY() * PIXEL_TO_METER_RATIO_DEFAULT) + PlayLevelActivity.CAMERA_HEIGHT/2;
if(tempHeight < heightCovered) {
setBounds(0, 0, PlayLevelActivity.CAMERA_WIDTH, tempHeight);
heightCovered = tempHeight;
}
}
}
カメラを次のように初期化しました:
mCamera = new MyBoundCamera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT, 0, CAMERA_WIDTH, 0, CAMERA_HEIGHT);
追跡エンティティを常に中心に置きたいです。今私が直面している問題は、最初にカメラが実体を追いかけることです。エンティティがどんどん高くなるにつれて、y方向の画面境界を超えます。エンティティを常に中央に維持するために、updateメソッドでカメラの境界を更新していますが、機能していません。chaseEntity.getY()は、物理ボディのy位置を取得します。誰かが私がどこで間違っているのか知っていますか?