Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Matrix

変換行列を表すインターフェース。 通常ゲーム開発者が本インターフェースを直接利用する事はない。

Hierarchy

  • Matrix

Index

Properties

Private _matrix

_matrix: [number, number, number, number, number, number]

変換本体。 CanvasRenderingContext2D#transformの値と等しい。

  a c e
[ b d f ]
  0 0 1

配列の添え字では、 a(m11): 0, b(m12): 1, c(m21): 2, d(m22): 3, e(dx): 4, f(dy): 5 となる。 参考: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/transform

Private _modified

_modified: boolean

変更フラグ。 本フラグが立っていても特に何も処理はされない。 本フラグの操作、本フラグを参照して値を再計算することは、いずれも利用する側で適切に処理をする必要がある。

Methods

clone

  • この変換行列と同じ値を持つ変換行列を新しく作って返す。

    Returns Matrix

multiply

  • multiply(matrix: Matrix): void
  • この変換行列に別の変換行列を掛け合わせる。

    Parameters

    • matrix: Matrix

      掛け合わせる変換行列

    Returns void

multiplyInverseForPoint

  • この変換行列を逆行列に変換した結果を引数の座標系に適用した座標値を返す。 この変換行列の値自体や、引数の値は変更されない。

    Parameters

    Returns CommonOffset

multiplyNew

  • この変換行列に別の変換行列を掛け合わせた新しい変換行列を返す。

    Parameters

    • matrix: Matrix

      掛け合わせる変換行列

    Returns Matrix

multiplyPoint

  • この変換行列と引数の座標系が表す行列の積を返す。

    Parameters

    • point: CommonOffset

      この変換行列との積を求める座標

    Returns CommonOffset

reset

  • reset(x?: number, y?: number): void
  • 値を単位行列にリセットする。x/yの座標情報を初期値に反映させることも出来る。

    Parameters

    • Optional x: number

      x座標。省略時は0として処理される

    • Optional y: number

      y座標。省略時は0として処理される

    Returns void

scale

  • scale(x: number, y: number): void
  • 拡縮を変換行列に反映させる。

    Parameters

    • x: number

      X方向の拡縮律

    • y: number

      y方向の拡縮律

    Returns void

update

  • update(width: number, height: number, scaleX: number, scaleY: number, angle: number, x: number, y: number): void
  • 2D object利用の一般的な値を基に変換行列の値を再計算する。

    Parameters

    • width: number

      対象の横幅

    • height: number
    • scaleX: number

      対象の横方向への拡大率

    • scaleY: number

      対象の縦方向への拡大率

    • angle: number

      角度。単位は degree であり radian ではない

    • x: number

      x座標

    • y: number

      y座標

    Returns void

updateByInverse

  • updateByInverse(width: number, height: number, scaleX: number, scaleY: number, angle: number, x: number, y: number): void
  • update() によって得られる行列の逆変換になるよう変換行列の値を再計算する。

    Parameters

    • width: number

      対象の横幅

    • height: number
    • scaleX: number

      対象の横方向への拡大率

    • scaleY: number

      対象の縦方向への拡大率

    • angle: number

      角度。単位は degree であり radian ではない

    • x: number

      x座標

    • y: number

      y座標

    Returns void

updateByInverseWithAnchor

  • updateByInverseWithAnchor(width: number, height: number, scaleX: number, scaleY: number, angle: number, x: number, y: number, anchorX: number, anchorY: number): void
  • updateWithAnchor() によって得られる行列の逆変換になるよう変換行列の値を再計算する。

    Parameters

    • width: number

      対象の横幅

    • height: number
    • scaleX: number

      対象の横方向への拡大率

    • scaleY: number

      対象の縦方向への拡大率

    • angle: number

      角度。単位は degree であり radian ではない

    • x: number

      x座標

    • y: number

      y座標

    • anchorX: number

      アンカーの横位置。単位は相対値(左端が 0、中央が 0.5、右端が 1.0)である。

    • anchorY: number

      アンカーの縦位置。単位は相対値(上端が 0、中央が 0.5、下端が 1.0)である。

    Returns void

updateWithAnchor

  • updateWithAnchor(width: number, height: number, scaleX: number, scaleY: number, angle: number, x: number, y: number, anchorX: number, anchorY: number): void
  • 2D object利用の一般的な値を基に変換行列の値をアンカーを用いて再計算する。

    Parameters

    • width: number

      対象の横幅

    • height: number
    • scaleX: number

      対象の横方向への拡大率

    • scaleY: number

      対象の縦方向への拡大率

    • angle: number

      角度。単位は degree であり radian ではない

    • x: number

      x座標

    • y: number

      y座標

    • anchorX: number

      アンカーの横位置。単位は相対値(左端が 0、中央が 0.5、右端が 1.0)である。

    • anchorY: number

      アンカーの縦位置。単位は相対値(上端が 0、中央が 0.5、下端が 1.0)である。

    Returns void

Generated using TypeDoc