【Scratch】アクションゲームを作ろう!(重力、移動、ジャンプ)

2Dアクションゲームを作ろう!part1【Scratch(スクラッチ)プログラミング】

こんにちは、プログラミング教室Willowの柳です!

今回は、2Dアクションゲームを作っていきます。上の解説動画で基本的なことはすべて解説しています。(よければご試聴ください!)
 この記事では、アクションゲームにおいて重要な、「重力」「移動」「ジャンプ」のプログラミング方法にしぼって、説明していきます。

事前準備

プロジェクトを新規作成したら、まず背景を変更します。

背景選択

いろいろな背景が用意されていますが。今回は、この“Blue Sky”を背景に使います。(あとあと都合がいいので、この背景にしてください。)

他の背景を使うと上手く動作しない可能性があります。今回作るプログラムの仕組みが理解できたら、ほかの背景で試してみてもいいかもしれません。

背景が変更できたら、ネコに動作をさせるためのプログラムを作成していきます。

重力

みなさんが地面に立てているのは、重力があるからですよね!

なので、重力のプログラムを作ってあげないと・・・!

無重力状態

こんな風に、空中に浮かんでしまいます。

私たは、地球の重力によって、下に引っ張られていますよね。
なので、ゲーム内のネコも下に引っ張ってあげましょう。

下に引っ張るということは、ネコを↓方向に自動で動かしてあげればよいので、
Y座標をマイナスの方向に「ずっと」動かしてあげればよいのです。

重力プログラム

こちらが、重力のプログラムです。(もっと他にも方法がありますが、今回は簡単なものを使います!)

これで、重力がくわわりました!

ネコが地面にめり込む

はい!このように、無事重力が加わって、ネコが地面にめり込みました!!(だめじゃん!!)

重力のプログラムを追加しただけでは、ネコは地面があることに気づかずに、下に落ちていってしまいます。
「地面に立つ」ためのプログラムを追加しましょう。

地面にめり込まないようにするプログラム

今回は、このようにプログラムを追加しました!

ネコの足の色(オレンジ)が、地面の色(茶色)に触れていたら、「地面に触れている」と判断して、下に引っ張るプログラムを行いません。
そうでなければ、下に引っ張るとしているので、空中にいるときは重力が加わります。

着地

これで、地面に立つことができました!! ネコも満足そうです。

移動

移動のプログラムを追加してあげます!

移動プログラム

こちらです。

上から読んで行けば、プログラムの意味は分かると思います。


右の矢印キーが押されたら、右に進ませるので、90度(右向き)にネコを向けて、右に移動させます(x座標を10)。

左の矢印キーが押されたら、左に進ませるので、-90度(右向き)にネコを向けて、左に移動させます(x座標を-10)。

「回転方法を左右のみにする」ブロックを付けているのは、やってみればわかりますが
これがないと、ネコがひっくり返ります。

※補足
今回は、左右の移動に「x座標を〇〇ずつ変える」ブロックを使いましたが、「〇〇歩動かす」
でも代用できます。

~歩動かすを使う場合

でも、座標の概念が身に着くまでは「x座標を〇〇ずつ変える」 を使って、座標に慣れていってほしいです!

ジャンプ

スペースキーが押されたらジャンプをできるようにします。
ジャンプを実現する方法にもいろいろありますが、一番簡単な方法を使います。

ジャンププログラム

ジャンプの処理はこれだけです!
スペースキーが押されたら、上方向に10動かすのを、10回繰り返します。
(繰り返しの回数や、移動の数値を大きくすれば、高くジャンプします。)

これにより、ネコが上方向に移動するので、ジャンプしたようになります。

このプログラムを・・・

重力とジャンププログラム

こんな風に、重力のプログラムと合体させます。

「地面に触れているなら」という条件の中に、ジャンプのプログラムを組み込んでいるので
空中で2回以上のジャンプができないようになっています。


ジャンプした後は、重力によって勝手に地面に落ちてきてくれます。

まとめ

今回は、重力、移動、ジャンプのについて説明しました。
上で紹介した動画も参考にしながら、是非アクションゲーム作りに挑戦してみてください。

もう少し改良したい人は、以下の記事も参考にしてみてください

コメント

タイトルとURLをコピーしました