この記事のポイント
・キー操作でスプライトをジャンプさせることができます
・ふわっとしたジャンプ(重力ジャンプ)ができます
はじめに スクラッチでジャンプゲームを作りたい
このシリーズでは、スクラッチで簡単につくれるジャンプゲームのつくり方を通して、スクラッチプログラミングのいろいろなテクニックを学んでいきます。
ジャンプゲームは、迫りくる敵をジャンプでじょうずに避けていくゲームです。
マリオのように、ジャンプして上から敵を踏んづければ、敵を倒せるようにします。
第1回では、スプライトをキー操作でジャンプできるようにします。さらにジャンプはあたかも重力があるようにふわっとジャンプできるようにします。
今回の作るものかこんな感じです⇩
参考記事
スクラッチの始め方
スクラッチの始め方は以下リンク先でまとめています。初めての方・やり方を忘れてしまった方はこの記事から読んでみてください。
完成作品
今回の完成作品はこのようになります。緑色の旗をクリックしてプログラムを開始してください。
操作方法
- キーボードの「↑」キーを押すと、スクラッチキャットがジャンプします
完成プログラム
新しくつくるスプライト
今回はスクラッチキャットにジャンプさせるようにします。
スクラッチプロジェクト
スクラッチプロジェクトは以下リンクとなります。プログラムやスプライトは自由に使ってもらってOKです。
作るモノ・コト(仕様)を考える
今回の作りたいモノ・コトは以下のとおりです。これをプログラムできればゴールです。
- キーボードの「↑」キーを押すとスクラッチキャットがジャンプする。
- ジャンプしたときにスクラッチキャットがジャンプした絵に変わる
- ジャンプしたときに音がなる
- ふわっとしたジャンプ(重力ジャンプ)をする。
はじめに作りたいモノをおおざっぱでもいいので、書き出すことがプログラミングで重要です。
いきなりプログラムを組み始めるよりスムーズに進みます。
事前準備 スプライトの改造する
スプライトの改造
今回はスクラッチにもともと用意されている「スクラッチキャット」を使います。
スクラッチキャットには2つのコスチュームが用意されていて、このコスチュームを交互に繰り返すとスクラッチキャットが歩いて見えるようになります。
今回は、スクラッチキャットがジャンプしたように見せるためのコスチュームが欲しいので、自分でコスチュームを改造してみます。
コスチュームを改造できるようになると、スプライトにいろんな動きを与えることができるようになります!
スプライトのパーツを動かす
スプライトの改造をさっそく始めます。
もともとあるコスチュームはそのまま使いたいので、まずは改造するためのコスチュームを複製します。下のように操作してコスチューム2を複製します。
するとこのようにコスチューム2が複製されてコスチューム3が作られました。
つぎに、「選択」で動かしたいスプライトのパーツを選びます。選んだパーツは青枠で表示されます。
ではジャンプしているときに、スクラッチキャッチの腕が上がっているようにしたいので、選択した腕を回転させます。こんな感じです。
さらにジャンプしているときは、足をまっすぐにしたいのでこんな感じに変更します。
さいごにコスチュームの名前は「ジャンプ」にしておきましょう。
背景
今回の背景はスクラッチにもともと用意されている「Blue Sky」を使います。
準備をととのえるとこんな感じになります。
プログラミング
では、事前に考えた作りたいモノ・コト(仕様)に沿ってプログラミングをしていきます。
キーボードの「↑」を押すと、ジャンプする
つぎのように動くようにプログラミングします。
- ↑キーを押すと、
- スクラッチキャッチが上方向に移動して、
- 上まで移動したら、下に移動する。
動作確認
ここで一旦動作確認をしてみます。↑キーを押すとスクラッチキャットがジャンプすれば成功です。
ジャンプしたときにジャンプした絵にする、音がなる
ジャンプしたときにジャンプした絵にして、さらに音がなるようにします。
さきほどのスクリプトに赤枠のブロックを追加します。
動作確認
ここで一旦動作確認をしてみます。ジャンプしたときにコスチュームが変更されて、ジャンプ音がなれば成功です。
ふわっとしたジャンプをする(重力ジャンプ)
今のジャンプでは、少し不自然な動きになってしまっています。
その理由は、ジャンプのさいしょの方とさいごの方がまったく同じスピードだからです。
この同じスピードで動くことを「等速度運動」と言って、地球上ではあまり見ない動きです。宇宙空間だとこの動きになります。なので不自然に見えるのですね。
実際のジャンプの考え方
地球上では「重力」という力が常にかかっており、ジャンプのさいしょの方はスピードが速いですが、ジャンプのさいご(=てっぺん)ではスピードは0になります。
そして、落ちていくときは、逆にさいしょのほうはスピードが遅いですが、地面に着地する直前が一番スピードが速くなります。このような感じです。
重力の表現の仕方は以下の記事でも詳細に紹介しています。
なので、一回ごとにy方向に動く距離を減らしていけばよいことがわかります。
この考えが一番大切です!
これをプログラミングすると、次の赤枠のようにスクリプトを変更します。
「ジャンプ速さ」という変数を用意して、1回ごとにy方向に動く距離(=ジャンプ速さ)を減らしていくようにしています。
これで今回のプログラミングは完了です!おつかれさまです!
動作確認
さいごに動作確認をします。ジャンプがふわっとしたようになれば成功です。
さいごに
今回から「ジャンプゲーム」のシリーズが始まりました。
第1回目は、スクラッチキャットがキーボード操作でふわっとジャンプするようにプログラミングしました。
次回予告は下をスクロールしてくださいね⇩⇩⇩
おススメのスクラッチ参考書
私も参考にしているスクラッチ参考書を紹介します。どちらもとてもわかりやすいです。
私の場合は、図書館で借りて試し読みして、分かりやすかったものを購入しています。試し読みは必須です。
手元にずっと置いておき、いつでも参照できるようにすることも重要です。
【無料体験】【全国に教室多数】おススメのプログラミング教室
私が最もおススメするプログラミング教室は、「QUREOプログラミング教室」です。
「QUREO」の特徴は、以下にあげる点です。
- 教室型であり、直接先生からプログラミングを学ぶことができる。
- 全国に教室数が多く(全国2500教室)、実績豊富
- ビジュアルプログラミングかつゲーム制作を学習教材に使用していて、取り組みやすい
- 月謝が比較的安い。
習い事は、「通いやすさ」と「続けやすさ」の2つが重要ですよね。私も「通いやすさ」を重視して「QUREO」を選びました。
今なら無料体験・キャンペーンも実施しているので、一度お試しすることをおススメします!
次回
工事中です。お楽しみに!
コメント