コンストラクター
非公開constructor
-
new DeviceScreen( parent: HTMLElement, config: GameConfigWithoutScale,): DeviceScreen
パラメータ
- parent: HTMLElement
- config: GameConfigWithoutScale
プロパティ
非公開appliedHeight
appliedHeight: number
非公開appliedWidth
appliedWidth: number
非公開 読み取り専用game
game: Game
非公開 読み取り専用parent
parent: HTMLElement
メソッド
非公開deviceSize
-
deviceSize(): { height: number; width: number }
戻り値 { height: number; width: number }
静的startGame
-
startGame(parentId: string, config: GameConfigWithoutScale): Game
パラメータ
- parentId: string
- config: GameConfigWithoutScale
戻り値 Game
ゲームのキャンバスを、表示先の要素の大きさと端末の画素密度に合わせ続ける。
PhaserのRESIZEモードはキャンバスをCSSピクセル数で作る。devicePixelRatioが1より大きい端末 (スマートフォンや高精細ディスプレイ)ではこれが実際の画素より粗い絵になり、引き伸ばされて ぼやける。そのため拡大縮小はPhaserに任せず(NONEモード)、ゲームの座標系を物理ピクセルに 取ってキャンバスを作り、CSS上の表示寸法だけを zoom = 1/devicePixelRatio で元に戻す。 これによりゲーム内の1ピクセルが端末の1画素に対応する。
ゲーム内の座標が物理ピクセルになるため、ブラウザからCSSピクセルで受け取る量(ホイールの 回転量など)はゲームの座標系へ換算してから使う(
ScaleManager.displayScaleが換算係数)。