マリオ1でのマニュアルスクロールの実装について
cs50のYoutube動画「マリオ1でのマニュアルスクロールの実装について」について要点と要約をまとめました
3つの要点
- 要点1
マニュアルスクロールの実装プロセスについての要点 - 要点2
カメラの移動を制御するためにマップのサイズの値をキャッシュし、境界内に制限する - 要点3
math.minとmath.max関数を使用してカメラの移動を制限し、画面のオフセットを考慮する
要約
マニュアルスクロールの実装プロセス
このスピーチでは、マリオ1でのマニュアルスクロールの実装プロセスについて説明しました。サイドスクロールのプラットフォームゲームでは、マップをスクロールする能力が必要です。ゲームには最終的にはアバター制御のカメラがありますが、最初はキーボードのコントロールでカメラを移動させる実験をしました。
カメラの移動の制御
カメラの移動を制御するために、ピクセル単位のマップの幅と高さの値を制限する必要がありました。ピクセル単位でマップのサイズの値をキャッシュすることで、カメラの移動をマップの境界内に制限することができました。
キーボードコントロールの実装
移動のためにキーボードの入力を検出するために、love.keyboard.isDown関数を使用しました。キー ‘w’、’a’、’s’、および ‘d’ の入力をチェックすることで、上、左、下、右の移動を処理することができました。その後、キーボードの入力に基づいてカメラの位置を調整しました。
カメラの移動の制限
カメラの移動がマップの端を超えないようにするために、math.minとmath.max関数を使用しました。2つの数字のうち大きい方または小さい方を返すことで、カメラの移動をマップの境界内に制限することができました。さらに、仮想の高さと幅を引いて画面のオフセットを考慮しました。
▼今回の動画
編集後記
▼ライターの学び
このスピーチから、マリオ1でのマニュアルスクロールの実装について学びました。マップのサイズを制限し、キーボードの入力に基づいてカメラの位置を調整することで、スクロール機能を実現することができます。
▼今日からやってみよう
今日からマリオ1のゲーム開発に取り組む際には、マニュアルスクロールの実装を試してみましょう。マップのサイズを制限し、キーボードの入力を検出してカメラの位置を調整することで、スムーズなスクロール体験を実現することができます。