Scratchでアクションゲームを作る(重力)

アクションゲームとシューティングゲームの違いは何か・・

それは重力があるかどうかです。

 

↑を押す、アクションゲームもシューティングゲームも自機が画面上に移動します。

その後、アクションゲームは重力に従い、下に勝手に移動しますが、

シューティングゲームは特に下に移動しません。

 

重力は空中にいるときに発生します。

足場など着地しているときは発生しません。

 

足場がない → 空中にいる扱い → 重力あり

ジャンプ → 足場がない → 空中にいる扱い → 重力あり

こういった流れです。

つまり、空中にいるかどうかが重要になります。

 

 

f:id:programming-self-study:20220121230630p:plain


重力は、つねに描画処理の中で繰り返して呼び出すようにする。

 

_is_landingという変数で着地しているかどうかを管理し、

スクロールは、指定した引数分、背景をスクロールさせます。

 

そうすることで、自動的に足場がなくなった際は、下に移動する処理が働く。

つまり、着地していなければ常に、重力がかかるような動きになる。