今回つくるゲーム
難易度
今回はスクラッチでフラッピーバード風の横スクロールゲームを作っていきます。スペースキーでネコをジャンプさせながら、土管に触れずにすり抜けさせていき、通過した土管の数を競います。とても単純なゲームですが、難しさを絶妙に設定することでスコア争いが楽しくなります。横スクロールのエントリーゲームとして是非挑戦してみてください。
まずは実際にゲームをプレイしてみてください。最後に世界記録が出てきますが、それについては別の記事で解説していきます。
はじめに
まずはこちらの素材をリミックスしてください。もしくはこちらを参考にスプライトを自分で描いていただいても良いと思います。
こちらにはゲームを作るのに必要な素材がすべて含まれています。
ネコのコードを書く
まずはネコのコードです。
重力とジャンプの勢いという考え方を使い、自然な動きをつくります。また動きをよりリアルにするためにジャンプしているときは上に向いて落下中は下に向くようにしています。そして飛行可能という変数を作り、ゲームオーバーになると、スペースキーを押してもジャンプできないようにします。
では、実際にプレイしてみましょう。以下のように動けば成功です。横スクロールゲームでは実際はプレイヤーは動きません。背景(今回は土管)が動くことであたかもプレイヤーが前進しているように見えるのです。
土管のコードを書く
次に土管のコードです。
まず、土管のコスチュームを見てください。以下赤い点線部分がゲーム画面になりますが、この画面から上下はみ出して土管を描いているのがポイントです。それにより、このコスチュームを上下させてもゲーム画面内に土管がおさまるようになります。
では、コードを書いていきましょう。土管のコードは以下の通りです。
では、実際にプレイしてみましょう。以下のように動けば成功です。ネコが飛んでいるように見えてきました。
地面のコードを書く
よりゲームのクオリティーをあげていくために、地面を作ってスクロールさせていきます。
1つのスプライトをひたすら単純にスクロールさせるのは以下のコードが便利です。
より精度の高いスクロールを作るには、背景1・背景2という2つのスプライトを用意して交互に表示させる方法があります。そちらに関しては、以下の記事で紹介していますので参考にしてください。
では、動きをみてみましょう。以下のように動けば成功です。地面ができるだけでいっきに横スクロールゲーム感が出ますね。
すべてのコード
これで終了です。すべてのコードは以下から確認できます。
こちらには世界記録がついていますが、世界記録のつけ方については次回の記事で紹介しようと思います。