Canvasサイズ調整

計算

表示できる横/縦の最大サイズを取得します。これに合わせてCanvasを最大にしてしまうと縦横比率(アスペクト比)が崩れてしまうので、最大サイズの横、縦を比較し小さい方を基準に拡大率を求めます。

拡大率を基にCanvasの表示サイズを変更します。

Canvasサイズ変更

Canvasの表示サイズを変更するためsetDispSize()関数を作成します。この関数は起動時に呼び出されます。


10行、14行目のAREA_MARGINは表示サイズに余白を設けるための定数定義しています。

クリック、タッチ調整

マウスクリック、タッチ時に取得できる座標は画面サイズが起点でした(マウス操作)。

Canvas内の座標を取得するためクリック、タッチ座標からCanvas表示座標を減算し求めていました。

Canvasの表示サイズを解像度に合わせて変更したため、この計算に狂いが生じます。そこでクリック、タッチ処理(action())の引数(パッドCanvas横/縦座標、ゲームCanvas横/縦座標)を拡大率で調整します。

表示サイズから算出された座標を拡大率で除算することにより描画座標を求めます。

実行

解像度(画面サイズ)によりゲーム画面が調整されるか確認します。ウィンドウズ幅を変更/ブラウザ更新ボタンを押下し確認します。実行画面へ

ここまでのソースコードを掲載します。

タイトルとURLをコピーしました