今回つくるゲーム
難易度
今回はマイクラ風採掘ゲームを作っていきます。足場を作りながらシャベルで岩を掘り、宝を探します。ブロックを積み上げた上で、マインクラフトの特徴である採掘と建築をどのようにコードで再現するかがポイントです。座標の訓練になりますので是非チャレンジしてみてください。
まずは実際にゲームをプレイしてみてください。
左右矢印キー:横移動 スペースキー:ジャンプ マウスを合わせてsボタン:採掘 マウスを合わせてzボタン:設置 獲得コインの枚数にあわせてアイテムゲット
今回作るゲームは以前、こちらのブログで紹介したマインクラフト風ゲームの応用になりますので、そちらも合わせて確認ください
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
ステージを作る
まずはブロックを積み重ねてステージを作っていきます。ブロックスプライトのコスチュームを確認してみてください。岩1〜4、硬い岩、透明、コインがあらかじめ用意されています。これらのブロックを積み重ねていくことでステージを作っていきます。
岩1〜4は同じ見た目ですが、採掘した時に出てくるアイテムを変えられるようにしています。今回は岩2を採掘するとコインが出てくるようにします。
ブロックはちょうど30×30ピクセルに設定しますが、設定の仕方はこちらを参考にしてください。
実際にコードを書いていきます。まず、用意されているマップチップを確認してください。あらかじめ用意されているマップというリストにチェックを入れます。すると以下のようなマップチップが現れます。それぞれ番号に対する内容はこのようになっています。
0:何も置かない 1:岩1 2:岩2 ※採掘するとコインが出現する 5:硬い岩 6:透明
ではこのマップチップに従ってブロックを並べていきます。
マップチップについて詳しく知りたい場合はこちらを参考にしてください。
ブロックに以下のコードを書いていきます。これでブロックを並べることができます。
実際に緑の旗を押して並べてみましょう。以下のようにブロックが現れれば成功です。透明ブロックが配置された場所は幽霊の効果でブロックが消えているように見えます。画面端より右側はスクロールしなければ見れませんので後ほどスクロールできるようになってから確認しましょう。
※透明ブロックとブロックを置かないの違いは、透明ブロックの場所は後ほどブロックを建築できる場所ということになります。
プレイヤーを動かす
つぎにプレイヤーを動かしていきますが、何度もこのブログで紹介している通り、プレイヤーを動かすときは、まずは四角い(もしくは丸い)ターゲットを用意して、そのターゲットで動きを作ってからプレイヤーを被せていくとうまくいきます。一連の横移動・ジャンプ・着地の動きも含め、詳しくはこちらを確認してください。
ターゲットを動かす
まずターゲットのスプライトに移動して以下のコードを書きます。
左右移動の時に反応する色は岩ブロックの側面の色、重力に反応する色は、地面の色(及びブロック上面の色)となります。
x=100の位置でスクロールをするようにしていますが、ブロックのスプライトでも同様にスクロールをするように設定しましょう。ブロックのスプライトに戻って先ほど書いたコードに以下を追加します。
この状態で、一度動かしてみてください。以下のように動かすことができれば成功です。
プレイヤーをかぶせる
では、ターゲットの動きにプレイヤーをかぶせていきます。プレイヤーのスプライトに移動して以下のコードを書きます。ターゲットに常についていきながら、左右の矢印キーが押されるとコスチュームを変えて歩いているように見せます。
では実際に動かしてみましょう。その前に、ターゲットのコードに移動して幽霊の効果を100にしておきましょう。(ターゲットは存在はするけど見えないようにするためです)
以下のように動けば成功です。
採掘する
次に、岩を採掘できるようにしていきます。採掘のルールは以下のとおりです。
プレイヤーに対して赤丸部分は採掘可能で、青丸部分は採掘不可です。(もちろんそれより遠い部分は採掘できません。)
また、採掘をしたいときは、
1:採掘したいブロックにマウスのカーソルをあわせる 2:Sキーを押す
とします。
ブロックのコード
これらのルールにのっとってブロックのスプライトにコードを追加していきます。岩を採掘した時に、その岩が岩2の場合はコインを出現させます。
粉砕のコード
次に採掘した時に、岩が粉砕されるように見せていきます。粉砕のスプライトがあらかじめ用意されているので、採掘のメッセージを受け取った時に表示するようにします。粉砕のスプライトに以下のコードを書きます。
プレイヤーのコード
最後に採掘するときにプレイヤーがシャベルを動かす動きを作っていきます。
プレイヤーに対して左右・上・下の岩を採掘するときでそれぞれアクションを変えます。
これで採掘の準備が整いました。以下の動画のように採掘ができれば成功です。
岩を設置(建築)する
岩を掘っていくだけでは、上の方に登れないので、足場を作るために岩を設置していく必要があります。先ほどと同じ考え方でzキーを押すと岩が設置できるようにします。ブロックのスプライトに以下のコードを追加します。
これで、プレイヤーの周辺にブロックを設置し、足場を作れるようになったはずです。
このような感じで採掘と設置を繰り返せるようになれば成功です。
コインをゲットする
最後に掘り当てたコインをゲットできるようにします。
コインの変数のチェックボタンをONにします。そして表示された変数を右クリックして大きな表示を選択し、ドラッグ&ドロップでコインマークの横に持ってきます。
これでコインの数を表示する準備ができました。次にブロックのスプライトに移動し、以下のコードを追加します。採掘された時ではなく、それがプレイヤーに触れた時(つまりターゲットに触れた時)にコインをゲットできるようにします。
実際にコインをゲットしましょう。わかりやすいように一番下の段にコイン(つまり岩2)を仕込んでいます。以下のようにコインをゲットできれば成功です。
アイテムを獲得します
最後に、獲得したコインに応じてアイテムを獲得できるようにします。
一番左に設置している?×2というアイコンは、コインが2枚以上たまったらアイテムに交換できることを示しています。そして最大9枚たまった時に交換できるアイテムも用意しています。
2枚たまるということは1枚より多くあった時に獲得できるということなので以下のコードになります。
同様にx3,x4・・・x9それぞれのスプライトにコードを書いていきましょう。
以下のようにアイテムを獲得できるようになれば成功です。
すべてのコード
すべてのコードはこちらから確認できます。ここでは採掘するとコインが出てくるだけでしたが、岩3・4を活用すると例えば爆弾がでてきたりなどいろいろ工夫ができると思います。是非オリジナルの採掘ゲームを作ってみてください。