我已经自定义了 BoundCamera 并将更新方法覆盖为:
@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 方向上超出屏幕边界。我正在更新更新方法中的相机边界,以使实体始终位于中心但不工作。ChaseEntity.getY() 获取物理体的 y 位置。有谁知道我哪里出错了?