Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Camera2D

2D世界におけるカメラ。

Hierarchy

Implements

Index

Constructors

constructor

  • 指定されたパラメータで Camera2D のインスタンスを生成する。

    Parameters

    Returns Camera2D

Properties

Private _matrix

_matrix: Matrix

変換行列のキャッシュ。 Object2D は状態に変更があった時、本値の_modifiedをtrueにする必要がある。 初期値は undefined であり、 getMatrix() によって必要な時に生成されるため、 if (this._matrix) this._matrix._modified = true という式で記述する必要がある。

エンジンに組み込まれているSprite等のエンティティ群は、 すでに本処理を組み込んでいるため通常ゲーム開発者はこの値を意識する必要はない。 Object2D を継承したクラスを新たに作る場合には、本フィールドを適切に操作しなければならない。

Private _modifiedCount

_modifiedCount: number

anchorX

anchorX: number | undefined

オブジェクトのアンカーの横位置。アンカーについては以下の通り。

  • アンカーとして設定した箇所がこのオブジェクトの基点 (位置、拡縮・回転の基点) となる。
  • 単位は相対値 (左上端が (0, 0) 中央が (0.5, 0,5) 右下端が (1,1) ) である。 anchorXとanchorYの両方が省略された場合、このオブジェクトの位置 (x, y) は左上端を基準に決定され、拡縮・回転の基点は中央座標となる。 これは前バージョンとの互換性のための挙動である。 anchorX, anchorYのどちらかのみを指定した場合の動作は不定である。 初期値は undefined である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

anchorY

anchorY: number | undefined

オブジェクトのアンカーの縦位置。アンカーについては以下の通り。

  • アンカーとして設定した箇所がこのオブジェクトの基点 (位置、拡縮・回転の基点) となる。
  • 単位は相対値 (左上端が (0, 0) 中央が (0.5, 0,5) 右下端が (1,1) ) である。 anchorXとanchorYの両方が省略された場合、このオブジェクトの位置 (x, y) は左上端を基準に決定され、拡縮・回転の基点は中央座標となる。 これは前バージョンとの互換性のための挙動である。 anchorX, anchorYのどちらかのみを指定した場合の動作は不定である。 初期値は undefined である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

angle

angle: number

オブジェクトの回転。度数で指定する。 初期値は 0 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

compositeOperation

compositeOperation: CompositeOperation

描画時の合成方法を指定する。 初期値は undefined となり、合成方法を指定しないことを意味する。 E においてこの値を変更した場合、 modified() を呼び出す必要がある。

game

game: Game

紐づいている Game

height

height: number

このオブジェクトの縦幅。 初期値は 0 である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

id

id: number

このカメラのID。

カメラ生成時に暗黙に設定される値。 local が真である場合、この値は undefined である。

ひとつの実行環境中、ある Game に対して、ある undefined ではない id を持つカメラは、最大でもひとつしか存在しない。 この値は参照のためにのみ公開されている。ゲーム開発者はこの値を直接変更してはならない。

local

local: boolean

このカメラがローカルであるか否か。

初期値は偽である。 この値は参照のためにのみ公開されている。ゲーム開発者はこの値を直接変更してはならない。

name

name: string

このカメラの名前。 初期値は undefined である。

opacity

opacity: number

0~1でオブジェクトの不透明度を表す。 初期値は 1 である。本値が0の場合、Rendererは描画処理を省略する。 E においてこの値を変更した場合、 modified() を呼び出す必要がある。

scaleX

scaleX: number

オブジェクトの横方向の倍率。 初期値は 1 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

scaleY

scaleY: number

オブジェクトの縦方向の倍率。 初期値は 1 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

width

width: number

このオブジェクトの横幅。 初期値は 0 である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

x

x: number

このオブジェクトの横位置。 初期値は 0 である。実際の座標位置はscaleX, scaleY, angle, anchorX, anchorYの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

y

y: number

このオブジェクトの縦位置。 初期値は 0 である。実際の座標位置はscaleX, scaleY, angle, anchorX, anchorYの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

Methods

Private _applyTransformToRenderer

  • _applyTransformToRenderer(renderer: Renderer): void
  • Parameters

    Returns void

Private _updateMatrix

  • _updateMatrix(): void

anchor

  • anchor(x: number, y: number): void
  • オブジェクトのアンカーの位置を設定する。 このメソッドは anchorXanchorY を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • x: number
    • y: number

    Returns void

getMatrix

  • このオブジェクトの変換行列を得る。

    Returns Matrix

modified

  • modified(): void
  • カメラ状態の変更をエンジンに通知する。

    このメソッドの呼び出し後、このカメラのプロパティに対する変更が各 Renderer の描画に反映される。 ただし逆は真ではない。すなわち、再描画は他の要因によって行われることもある。 ゲーム開発者は、このメソッドを呼び出していないことをもって再描画が行われていないことを仮定してはならない。

    本メソッドは、このオブジェクトの Object2D 由来のプロパティ (x, y, angle など) を変更した場合にも呼びだす必要がある。

    Returns void

moveBy

  • moveBy(x: number, y: number): void
  • オブジェクトを相対的に移動する。 このメソッドは xy を同時に加算するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • x: number

      X座標に加算する値

    • y: number

      Y座標に加算する値

    Returns void

moveTo

  • moveTo(x: number, y: number): void
  • moveTo(obj: CommonOffset): void
  • オブジェクトを移動する。 このメソッドは xy を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • x: number

      X座標

    • y: number

      Y座標

    Returns void

  • オブジェクトを移動する。 このメソッドは xy を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    Returns void

resizeBy

  • resizeBy(width: number, height: number): void
  • オブジェクトのサイズを相対的に変更する。 このメソッドは widthheight を同時に加算するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • width: number

      加算する幅

    • height: number

      加算する高さ

    Returns void

resizeTo

  • resizeTo(width: number, height: number): void
  • resizeTo(size: CommonSize): void
  • オブジェクトのサイズを設定する。 このメソッドは widthheight を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • width: number

    • height: number

      高さ

    Returns void

  • オブジェクトのサイズを設定する。 このメソッドは widthheight を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    Returns void

scale

  • scale(scale: number): void
  • オブジェクトの拡大率を設定する。 このメソッドは scaleXscaleY に同じ値を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • scale: number

      拡大率

    Returns void

serialize

  • serialize(): any
  • このカメラをシリアライズする。

    このメソッドの戻り値を Camera2D#deserialize() に渡すことで同じ値を持つカメラを復元することができる。

    Returns any

Static deserialize

  • 与えられたシリアリゼーションでカメラを復元する。

    Parameters

    • ser: any

      Camera2D#serialize() の戻り値

    • game: Game

      復元されたカメラの属する Game

    Returns Camera2D

Generated using TypeDoc