【アフィリエイト広告を利用しています】
この記事ではScratch(スクラッチ)を学び始めた初心者の方に向けて、キーボードの矢印キーでスプライトを上下左右に動かすプログラムの作り方を紹介します。
スプライトを動かすには、「座標」と「向き」について理解しておく必要があります。
座標? 向き? 何だか難しそう…
そのような方に向けて、それぞれの意味について分かりやすく解説します。
Scratchではアクションゲームやシューティングゲームなどの様々なゲームを作ることができますが、どんなゲームも自分でキャラクターを動かす事からスタートしますので、今回の内容はゲーム作りの基本になりますよ。
Scratchの公式サイトはこちら→https://scratch.mit.edu/
このブログが本になりました!
完成品はこちら
まずは完成品を見てみましょう。下の画面中央の旗ボタンをクリックしてください。
キーボードの矢印キーを押すとイヌが矢印キーの方向に動きます。
ランダムに動く星に当たらないようにしながら地球まで移動させてみてください。
途中で星に当たってしまったらイヌが一回転し、地球まで辿り着いたらイヌが「ゴール!」としゃべるようになっています。
座標と向きを覚えよう
まずはプログラムを作成する前に「座標」と「向き」について解説します。
座標
「座標」とは、ステージ上のスプライトの位置を示すための数です。
横方向の位置を示すX座標と、縦方向の位置を示すY座標があります。
ステージ真ん中が0で、右に行くほど大きくなり右端は240です。
逆に左に行くほど小さくなり左端は-240です。
ステージ真ん中が0で、上に行くほど大きくなり一番上は180です。
逆に下に行くほど小さくなり一番下は-180です。
スプライトの座標は下の画面で確認できます。
向き
「向き」は、スプライトが向いている角度を示しています。
上下左右の向きはそれぞれ次のようになります。
- 上向き ⇒ 0度
- 右向き ⇒ 90度
- 下向き ⇒ 180度
- 左向き ⇒ -90度
スプライトの向きも、座標と同じように下の画面で確認できます。
スプライトの初めの位置を設定しよう
それではプログラムを作っていきます。
まずは今回使うスプライトを呼び出しましょう。
イヌは「Dot」、地球は「Earth」、星は「Star」をそれぞれ呼び出します。また今回はネコのスプライトは使わないので削除しましょう。
背景は「Galaxy」を選択します。
次に、スタート時のスプライトの位置を設定します。
今回はイヌが左下、地球が右上、星が真ん中になるようにそれぞれ設定します。
まずイヌのスプライトを選択し、コードエリアに「旗が押されたとき」ブロックを移動します。
そして「動き」をクリックし、「x座標を〇、y座標を〇にする」ブロックを繋げます。
(〇の中の数字は環境により異なりますので違っていても大丈夫です。)
ブロック内の数値を「x座標を-170、y座標を-110にする」に変更します。
続いて、地球も同じようにブロックを繋げたあと、x座標を170、y座標を110に変更します。
星も同じようにブロックを繋げて、x座標を0、y座標を0に変更します。
では旗をクリックしてプログラムを実行してみてください。
下のように各スプライトが最初の位置に移動します。
矢印キーでイヌを動かそう
次に矢印キーでイヌを上下左右に動かすプログラムを作ってみましょう。
「〇〇キーが押されたとき」ブロックと、「x(またはy)座標を〇ずつ変える」ブロックを組み合わせるだけで簡単にできます!
まずは右移動から作っていきます。
イヌのスプライトを選択し、「イベント」をクリックし、「スペースキーが押されたとき」ブロックをコードエリアに移動します。
ブロック内の「スペース」をクリックすると他のキーに変えることができますので「右向き矢印」に変更します。
左右の位置を示すのはX座標でしたね。
「動き」をクリックし、「x座標を10ずつ変える」を先程のブロックの下に繋げます。
これで右移動が完成です。
次に左移動を作りましょう。
X座標の数をマイナスにすれば左に移動できますので、「左向き矢印キーが押されたとき」ブロックと「x座標を-10ずつ変える」ブロックを組み合わせば完成です。
次は上移動のプログラムです。
上下の位置を示すのはY座標でしたね。「上向き矢印キーが押されたとき」ブロックの下に「y座標を10ずつ変える」ブロックを繋げれば完成です。
最後に下移動です。
Y座標の数値をマイナスにすれば下に移動できますので、「下向き矢印キーが押されたとき」ブロックと「y座標を-10ずつ変える」ブロックを組み合わせば完成です。
これで矢印キーでイヌを動かすプログラムが完成しました!
星をランダムに動かそう
続いて、星をランダムに動かすプログラムを作ります。
星のスプライトを選択し、最初の位置を設定したブロックの下に「ずっと」ブロックを繋げます。
そして「動き」をクリックし、「1秒でどこかの場所へ行く」ブロックを「ずっと」ブロックの中に入れます。
これで星がランダムに動くようになります。
「1秒でどこかの場所へ行く」の数を変えれば、移動する速さを変えることができますよ。
当たり判定をつけよう
最後に、イヌが他のスプライトに触れたときのプログラムを作ります。
具体的には次の2つのプログラムを作っていきます。
- もし星に触れたら、一回転する。
- もし地球に触れたら、「ゴール!」と2秒しゃべる。
「もし〇〇に触れたら」の部分を「当たり判定」と呼びます。
シューティングゲームで敵のキャラクターや弾丸に当たったかの判定など、「当たり判定」は様々なゲームで使われています。
まずは1つ目の、星に触れたら一回転するプログラムから作っていきます。
イヌのスプライトを選択し、最初の位置を設定したブロックの下に「ずっと」ブロックを繋げます。
そして「制御」をクリックし、「もし〇〇なら」ブロックを「ずっと」ブロックの中に入れます。
「調べる」をクリックし、「マウスのポインターに触れた」ブロックを「もし〇〇なら」ブロックの〇〇の位置に移動します。
ブロック内の「マウスのポインター」をクリックすると変えることができますので、「Star」を選択します。これで星の当たり判定が完成です。
続いて、星の当たり判定にイヌが一回転するプログラムを組み合わせます。
まず「制御」をクリックし、「10回繰り返す」ブロックを「もし〇〇なら」ブロックの中に入れます。
「動き」をクリックし、「(時計回りに)15度回す」ブロックを先程のブロックの中に入れます。
各ブロックの数値を「36回繰り返す」「10度回す」に変更します。
これで10度回すのを36回繰り返すので10×36=360度となり、イヌが一回転するプログラムの完成です。
では2つ目の、地球に触れたら「ゴール!」と2秒しゃべるプログラムを作りましょう。
「もし〇〇なら」ブロックと「〇〇に触れた」ブロックで地球の当たり判定を作り、「〇〇と〇秒言う」ブロックを中に入れて、下のように組み合わせば完成です。
これで全てのプログラムが完成しました!
まとめ
今回はキーボードの矢印キーでスプライトを上下左右に動かすプログラムの作り方を解説しました。
今回ご紹介した完成品のようなゲームであればScratchを始めたばかりの方でもすぐにできますので、ぜひ自分オリジナルのゲーム作りに挑んでみてください。
以下の記事では、Scratchを初めて学ぶ親子に向けた入門編として基本的な使い方を解説していますので、お子様と一緒にぜひお読みください。
》Scratch(スクラッチ)とは?始め方から使い方まで完全解説
Scratchをもっと本格的に学んでみたい!
このような好奇心が芽生えたら、お子様の豊かな未来を切り拓く可能性を広げるチャンスです。
近年、プログラミング教育はますます重要視されています。
2020年度から小学校でのプログラミング教育の必修化が始まっており、また大学入試では2025年1月から大学入学共通テストにプログラミングを含む教科「情報」が出題されます。
プログラミングは創造性や論理的思考を育む素晴らしいスキルですが、親御さんがプログラミングを教える専門家でない場合、お子様が学ぶためのサポートが必要です。
その手助けとして、プログラミング教室のご検討はいかがでしょうか?
以下の記事で小学生向けのおすすめプログラミング教室を紹介していますので、合わせてご覧いただければ幸いです。一緒に、子供たちの未来を輝かせる扉を開きましょう!
》【2024年最新版】小学生向けプログラミング教室3選
この記事を最後まで読んでいただき、ありがとうございました!
コメント