画面上の大きさ、描画するピクセル数、入力の座標を分けると、Canvasの表示と操作のずれを追いやすくなります。

この記事でわかること

  • 表示サイズと描画サイズを分けて記録する
  • 端末のピクセル比を考慮する
  • 画面を回した後にも座標を確かめる
この記事の目次
  1. 一つの「幅」だけで管理しない
  2. 入力座標をゲーム内の座標へ変換する
  3. 画面の中央より、四隅で確かめる

一つの「幅」だけで管理しない

CSSで表示する幅と、Canvas内部の描画領域の幅は別です。内部の描画サイズが小さいまま見た目だけを大きくすると、拡大された画像のようにぼやける場合があります。

devicePixelRatioは物理ピクセルとCSSピクセルの比率です。鮮明さを上げるために描画サイズへ反映する場合も、画面上のゲームの大きさまで意図せず変えないように整理します。

入力座標をゲーム内の座標へ変換する

getBoundingClientRectで画面上の位置とサイズを調べ、入力位置からCanvasの左上を引きます。その後、表示サイズとゲーム内座標の比率を使って変換します。

固定の上端位置や拡大率を埋め込むと、スマートフォンの向きやレイアウトが変わったときにずれが出ます。ボタンの当たり判定を描いて、表示と入力が一致するかを確認すると切り分けやすくなります。

画面の中央より、四隅で確かめる

中央では目立たないずれも、端へ行くほど大きくなることがあります。四隅と中央に同じ確認点を置き、縦向き・横向きの両方で触ります。

  • 表示幅と内部幅を記録する
  • 四隅と中央をタップする
  • 画面を回して再確認する
  • ブラウザの拡大率を変えて確認する

参考にした情報源

情報確認日:2026.10.14。引用画像・投稿の埋め込みは使用していません。