今回つくるゲーム
難易度
今回はスクラッチで棒人間ゲームを作っていきます。棒人間がステージをジャンプしながら進んでいきます。ステージから落ちたらゲームオーバーです。単純ですがとてもクセになるゲームです。このゲーム作りを通して基本的なマップチップ の使い方や、タイミングよくジャンプさせるテクニックが凝縮されています。是非マスターして、ゲーム作りに活かしてください。
まずは実際にゲームをプレイしてみてください。スペースキーでジャンプです
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
プレイヤー素材の確認
プレイヤースプライトのコスチュームを確認してください。棒人間のコスチュームが4つ用意してあります。この4つを順番に動かすと走っているように見えます。
ステージ素材の確認
次にステージ素材を確認しましょう。こちらには5つのステージ素材が入っています。これを順番に組み上げていくことでステージが完成します。
ステージを組み立てる
ステージを表示
まず、ステージを組み立てていきます。ステージを組み立てるには先ほど確認したステージ素材を順番に積み上げていくことになります。積み上げる順番を指示して表示するためにはマップチップ という技を使います。今回素材として以下のように初めからステージマップというリストを用意しています。
ステージマップにチェックを入れると、1〜5の数字が羅列されたリストが画面に表示されます。
この123412134・・・が、先ほどのステージのコスチューム番号に対応していて、この順番にステージを組み上げていくという指示書になっています。
そして、この指示書通りにステージを組み立てていくプログラムは以下の通りになります。
ステージのコードに書いてください。
ここで変数を作るときに以下のように、ステージx,ステージyは「このスプライトのみ」にチェックを入れるようにします。(それぞれのクローンに独自の位置情報を与えるためです)
このコードが意味するところは以下の通りです。
今回はステージマップには121文字が並んでいます。最初はy=-90に配置され、60づつ離して配置することでぴったりくっつくようになっています。ステージは5段目までは画面内に表示されますが、それより上の段も配置されているけど見えないという状態になっています。
このマップチップ については他のゲーム記事でも扱っているのであわせて参考にしてください
ステージを動かす
次に表示したステージを動かしていきます。今回のゲームはスペースキーを押すとプレイヤーがジャンプしてステージを登っていくゲームですが、実はプレイヤーの位置(高さ)はずっと変わらずでスペースキーを押すとステージが下に下がっていくことでジャンプしているように見せています。
では、スペースキーを押してステージが下がるプログラムを先ほどのコードに追加していきましょう。
ジャンプ中という変数を使っているのは、ジャンプ中にはプレイヤーがジャンプポーズをするためです。
これで、スペースキーを押すとステージを下げていくことができますが、このままだと、スペースキーを連打するとドンドン上がっていってしまいます。着地してすぐには次のジャンプができないようにするために、スペース押せるという変数も追加します。この変数の値が1のときは押せて、0の時は押せないようにします。
実際にスペースキーを押してステージを動かしてみましょう。連打してもジャンプできないことも確認してください。
プレイヤーを動かす
左右に動かしジャンプする
次にプレイヤーを動かしていきます。プレイヤーのスプライトに移動して、以下のコードを書きます。
これで、壁と壁の間を走りながらジャンプ中にはジャンプのコスチュームになります。
実際はジャンプはしていませんが、ステージが降りてくることによりジャンプしているように見えます。
実際に動かしてみましょう。ジャンプしている感じが出ましたね。
ゲームオーバーとクリアをつくる
では、ここからゲームオーバーとクリアを作っていきます。
ステージから落ちればゲームオーバーで、ゴールのコスチューム(コスチューム番号=5)に到達するとクリアです。以下のようにコードを追加します。※ゲームオーバーとゲームクリアのメッセージは後で使います。
実際にステージから落ちてみましょう。
さいごの仕上げ
では、ここからさいごの仕上げをしていきます。ゲーム管理のスプライトに移動して以下のようにコードを書きます。1段ステージをあがるごとに1ポイントずつスコアが増えていき、ゲームオーバー・クリアしたときにはジャンプができないようにしなければならないので、スペース押せるを0にします
その他、それぞれのタイミングでの効果音も追加していきます。
そして、最後に背景のコードを以下のように変更します。
ステージが上がるたびに色を変え、最後には背景色がどんどん変化していくギミックを入れます。
また、ゲームオーバーの時にはビカビカ!となりようにします。
すべてのコード
これですべてのプログラミングが終了です。ステージマップの数字の列を変えて自分だけのステージを作成してみましょう。すべてのコードは以下から確認できます。自由にリミックスしてください。