こんにちは!や~べ~です。
Scratchプログラミング初級2「モノにぶつかった時にハロー!させよう♪」、ということで記事を書いていきたいと思います。
入門的な、Scratchのインストールやはじめ方などの解説はこちらの記事を参考にしてみて下さい。↓
Scratchプログラミング入門1「スプライトをクリックしてHelloさせよう♪」
https://share-lab.net/scratch1
Scratchプログラミング初級2「モノにぶつかった時にハロー!させよう♪」
前回は、ネコちゃん(スプライト)をクリックすると、ネコちゃん(スプライト)が右方向へ一定距離歩いていく、プログラムを解説しました。↓
Scratchプログラミング初級1「スプライトをクリックして歩かせよう♪」
これは、クリックの度にあらかじめ決められた距離を毎回歩いていくプログラムだったのですが、
今回は、スプライトをクリックするとモノにぶつかるまで歩き続け、モノにぶつかった時に止まって、「Hello!」としゃべるようにプログラミングしていきます。
まずは、完成したプログラムを実行した様子を動画で見ていただきたいと思います↓
※動画中、クリックの動作を緑丸で表現しています!
ネコちゃん(スプライト1)をクリックすると、右に歩いていき、赤い丸にぶつかると止まって、「Hello!」としゃべります!
確認できましたでしょうか?
それでは、プログラミング方法を詳しく説明していきたいと思います。
プログラミングの前に、まず動かしてみたいという方は、
↓のリンクからScratchコミュニティーに共有しているプログラムにアクセスして、ブラウザ上で動かしてみて下さい♪
※ログインしなくても作動します!
※ダウンロードして自分のPCに保存する事もできます!
06スプライトクリックで右に動き、ものに触ってハローでとまる。
https://scratch.mit.edu/projects/120065002/#editor
今回はスプライトがもう一つ必要なので、まず最初に新しいスプライトを創ってみましょう!
ネコちゃんが「スプライト1」なので、赤い丸を「スプライト2」として創っていきます。
まず、左下のスプライトウインドウの「筆マーク」 をクリックします。
※マウスオーバーすると 「あたらしいスプライトをえがく」と表示されます。
すると、左下のスプライトウインドウに絵のない「スプライト2」が表示され、右ウインドウが「コスチューム」の編集画面に切り替わります。
今回は、塗りつぶした赤い丸を描くので、色の設定を赤に変更します。
続いて、描画ツールを「だえん(シフト:えん)」に変更します。
「●」の上にマウスオーバーすると、「だえん(シフト:えん)」と表示されるので、クリックして下さい。
塗りつぶしなので、矢印部分の右側をクリック。
シフトを押しながら、マウスをドラッグすると、きれいな円が描けると思います。
円以外の部分をクリックして、描画を確定すると、左側のウインドウにも赤い丸が表示されると思います。
これで、「スプライト2」の完成です。
左上ウインドウ内でドラッグすると、好きな場所に移動させることができるので、好きな場所に移動させて、使ってください。
コスチュームの描画方法は、一般的なペイントツールと変わらないので、円以外にも色々と描けると思います。
ぜひ、試してみてくださいね!^^
外部からのファイルの読み込みもできるので、細かい絵などは別のツールで描いてから、Scratchへ読み込んだほうが簡単かもしれません。
続いて、スクリプトの編集に入っていきます。
ネコちゃん(スプライト1)に↓のようなスクリプト(プログラム)を書いてみてください。
スクリプトだけ切り出したもの↓
基本的には、スクリプトタブ内に表示されているブロックを右のスクリプトエリアにドラッグ&ドロップしてプログラミングしていきます。
ブロックの色とスクリプト分類の色は同じ色になっています。
今回の場合は、
「このスプライトがクリックされたとき」のブロックは、「イベント」分類から、
「ずっと」のブロックは、「せいぎょ」分類から、
「もし◇なら でなければ」のブロックも、「せいぎょ」分類から、
「□にふれた」のブロックは、「しらべる」分類から、
「Hello!という」のブロックは、「みため」分類から、
「xざひょうを10ずつかえる」のブロックは、「うごき」分類からドラッグ&ドロップしてきます。
※今回は、「10」の部分を「1」に変更して使います。
※歩くスピードを速くしたい場合は、「10」のままでも良いですし、さらに大きな数字でもOKです!
今回は、スプライト2には動きを設定する必要はないので、何もプログラミングしません。
くっつける順番は、
「このスプライトがクリックされたとき」ブロックの下に、「ずっと」ブロックをくっつけて、
そのあと「ずっと」ブロックの逆コの字型の間の部分に、「もし◇なら でなければ」ブロックをくっつけます。
「もし◇なら でなければ」ブロックの◇部分に、「□にふれた」ブロックをくっつけ、□の部分を「Sprite2(スプライト2)」に変更して下さい。
「もし◇なら でなければ」ブロックのE字型の上側の間の部分に、「Hello!という」のブロックをくっつけ、
「もし◇なら でなければ」ブロックのE字型の下側の間の部分に、「xざひょうを10ずつかえる」のブロックをくっつけ、「10」を「1」に変更してください。
今回は、スプライトがクリックされるとプログラムがスタートし、スプライト2にぶつかるまで右に進みます。
スプライト2にぶつかると「Hello!」としゃべって止まります。
今回は手動でプログラムを停止するまで、常に動き続けるので、スプライト2にぶつかった後でも、スプライト1をドラッグしてまた元の場所に戻せば、そこからまた、右に歩き始めます!
※プログラムを終了する場合は、左上ウインドウの右上の小さな赤丸をクリックすれば終了できます。
6つのブロックが上手く配置できたら、ネコちゃん(スプライト1)をクリックしてみてください。
↓のように、ネコちゃんが右に歩いて、赤丸にぶつかって「Hello!」としゃべれば大成功です!(∩´∀`)∩
今回のプログラムのしくみ
今回は、プログラミングの基本となる重要な「無限ループ」と「IF文」を使ってプログラミングしました!
家電やクルマなどの製品には、かならず小型のコンピューターが使われています。
そして、その小型コンピューターのプログラミングには、ほぼ必ずこの「無限ループ」と「IF文」が使われています。
製品のプログラミングには、C言語などの上級プログラミング言語が使われますが、原理は今回やったScratchのプログラミングと同じです。
「無限ループ」とは、
プログラミングしたコード(スクリプト)を見た時に、上から下に一行づつ処理をしていき、一番下まで処理したら、また再度一番上に戻って、繰り返し処理を続けられるようにプログラミングすることです。
今回の場合は、
「ずっと」ブロックの逆コの字に挟まれた部分のプログラムを繰り返し処理していきます。
「IF文」とは、
設定した条件に応じて、処理の内容を変化させることで、
「もし●●だったら、■■する。」
「●●でなければ、▲▲する。」
といったように、条件に応じた動きを実現することができます。
また、IF文では、条件に合った処理だけ行い、条件に合わない処理はしない、という特徴もあります。
プログラムの中に、条件に合う処理が無ければ、何もしないということもあり得ます!
(何かの入力で条件が変わった時だけ、処理が発生するというプログラムもよく見かけます。)
条件となる設定を変えれば、また違った動かし方もできますので、「もし◇なら でなければ」の◇の部分を色々と変えてみると面白いと思います!
※「もし◇なら でなければ」ブロックの
◇の部分には、
「しらべる」や「えんざん」分類のブロックが使用できます。
※「えんざん」ブロックの
○の部分には、
数字を入力したり、「しらべる」ブロックの「こたえ」「おんりょう」「タイマー」などが使用できます。
まとめ
Scratchプログラミング初級2「モノにぶつかった時にハロー!させよう♪」、ということで記事を書かせていただきましたが、いかがでしたでしょうか?
今回の内容はプログラミングの基礎的な部分で、これから色々とプログラミングしていく時にもベースとなる重要な考え方になると思いますので、原理を理解しておいても損はないと思います!(*´ч`*)ウマウマ
理解を深める為にも、今回のプログラムのIF文の条件を変更して、ぜひ自分オリジナルの動きを創ってみてほしいなぁと思います!(´∀`*)
自分で考えた動きが実現できると、かなり達成感があると思いますよ~!(`∇´)
ぜひチャレンジしてみてくださいねっ♪(*^▽^*)
↓こちらで色々なScratchプログラムを公開してますので、ぜひ覗いてみてくださいね♪
https://scratch.mit.edu/users/share-lab/
じゃあ、今回はここまでっ!!
ではではっ!(´∀`*)ノシ
オススメの書籍
ランキング
↓ランキング参加してます!よろしければ、クリックで応援して下さいっ!
にほんブログ村
↓こちらもお願いしますっ!
人気ブログランキングへ