マリオ0でのサイドスクロールプラットフォーマーの作成方法
cs50のYoutube動画「マリオ0でのサイドスクロールプラットフォーマーの作成方法」について要点と要約をまとめました
3つの要点
- 要点1
自動スクロールの実装方法 - 要点2
スクロール機能の具体的な手法 - 要点3
アーティファクトの解決策
要約
マップの作成と自動スクロールの実装
マリオ0では、話者と彼らのチームが、アイコンとなるマリオゲームに似たタイルのマップを作成しました。彼らは、仮想カメラの座標系を移動させるために、love.graphics.translate関数を使用して自動スクロール、またはオートスクローラーを実装することに焦点を当てました。座標系を負の値で移動させることで、逆方向に移動するような動きの錯覚を作り出すことができました。
スクロール機能の実装
スクロール機能を実装するために、話者はマップクラスに更新関数を追加しました。彼らは、Pongのパドルと同様に、時間の経過とともにx座標とy座標を移動するカメラを導入しました。スクロール速度変数にデルタタイムを掛けた値をカメラのx座標に加算することで、スムーズなスクロールを実現しました。その後、love.graphics.translate関数を使用してカメラの座標を適用し、タイルマップを左から右にスクロールさせました。
アーティファクトとスムーズな動きの解決
話者は、浮動小数点値でタイルをレンダリングするとアーティファクトが発生することに気付きました。この問題を解決するために、彼らはカメラのx座標を整数値に変換するためにmath.floor関数を使用しました。これにより、小数部分の値が除去され、スムーズな動きが保証されました。この調整により、スクロールはシームレスに表示され、より良い視覚的な体験が提供されました。
次のステップと結論
話者は、マリオ2では、スクロール機能のためのキーボードコントロールの実装に焦点を当てる予定であることを述べました。彼らは、オートスクローラーの制御についてさらに学ぶために、読者を次回のセッションに参加するよう招待しました。全体的に、マリオ0はサイドスクロールプラットフォーマーの構築の基礎となり、自動スクロールの成功した実装が示されました。
▼今回の動画
編集後記
▼ライターの学び
マリオ0を通じて、自動スクロールの実装方法を学びました。また、座標系の移動による錯覚を作り出すことができることに驚きました。
▼今日からやってみよう
今日から自分のゲームに自動スクロール機能を取り入れてみよう!仮想カメラの座標系を移動させることで、スクロール効果を実現することができます。