クラス CameraModel

直系の既知のサブクラス:
FollowingCameraModel

public class CameraModel extends GameObjectModel
カメラのモデルを実装するクラス.
  • フィールド詳細

    • scale

      private double scale
      カメラのズーム倍率.
  • コンストラクタの詳細

    • CameraModel

      public CameraModel(World world)
      カメラモデルを生成する.
      パラメータ:
      world - オブジェクトが存在するワールド
  • メソッドの詳細

    • getScale

      public double getScale()
      カメラのズーム倍率を取得する.スクリーン倍率を考慮する.
      戻り値:
      カメラのズーム倍率
    • getRawScale

      public double getRawScale()
      カメラのズーム倍率を取得する.スクリーン倍率を考慮しない.
      戻り値:
      カメラのズーム倍率
    • setRawScale

      public void setRawScale(double scale)
      カメラのズーム倍率を設定する.スクリーン倍率を考慮しない.
      パラメータ:
      scale - カメラのズーム倍率
    • getScreenScaleFactor

      private double getScreenScaleFactor()
      スクリーン倍率を取得する.
      戻り値:
      スクリーン倍率
    • getTransformMatrix

      public AffineTransform getTransformMatrix()
      グローバル座標からカメラ座標に変換するアフィン変換行列を取得する. ローカル座標とは違い,カメラの中心を原点とするので注意.
      オーバーライド:
      getTransformMatrix クラス内 GameObjectModel
      戻り値:
      AffineTransform
    • getVisibleArea

      public Point2D.Double[] getVisibleArea() throws NoninvertibleTransformException
      カメラの表示範囲をワールド座標で取得する.
      戻り値:
      カメラの表示範囲を示す4点の座標.
      例外:
      NoninvertibleTransformException - 逆行列が存在しない場合のエラー.