ENGINEER_GUIDANCE: 加速度センサー
1. スマートフォンの傾きを検知する仕組み
現代のスマートフォンには「加速度センサー(Accelerometer)」や「ジャイロスコープ」と呼ばれる微小な電子部品(MEMS)が内蔵されています。これにより、デバイスが3次元空間のどの方向(X軸、Y軸、Z軸)に傾いているか、あるいは動いているかを正確に数値化することができます。
2. Web API「DeviceOrientationEvent」
ブラウザ上で動作するJavaScriptは、ユーザーの許可を得ることでこのセンサーデータにアクセスできます。
このゲームでは以下の値を取得してボールの物理演算(重力)に利用しています。
- beta (β): 前後の傾き。X軸を軸とした回転(手前や奥へ倒す動き)。ボールのY座標(縦の動き)に影響を与えます。
- gamma (γ): 左右の傾き。Y軸を軸とした回転(左右へ倒す動き)。ボールのX座標(横の動き)に影響を与えます。
3. PCでのプレイについて
PCブラウザなど加速度センサーが存在しない環境では、キーボードの「矢印キー」を押すことで、スマホを傾けたのと同じように仮想的な重力をボールに加えることができます。