子供学習向けプログラミング言語Scrachで遊んでみる〜その11:プログラミング画面で「調べる」のブロックを試してみる〜

スポンサーリンク

プログラミング言語Scratch

前回はScratchのプログラミング画面で「音」のブロックを解説しました。

子供学習向けプログラミング言語Scrachで遊んでみる〜その10:プログラミング画面で「音」のブロックを試してみる〜
プログラミング言語Scratch前回はScratchのプログラミング画面で「見た目」のブロックを解説しました。今回は「音」のブロックの解説をしていきます。「音」のブロックということで、音を鳴らしたり、止めた...

今回はいつもとちょっと違うブロック「調べる」のブロックを解説していきます。

「調べる」ブロックはキャラクターの状態や変化をキャッチするブロックです。

なかなかイメージしにくいですが、まずは色々試してみましょう。

ということで場所から。

この「調べる」ブロックは青緑色で統一されていますね。

ではでは一つずつ見ていきましょう。

スポンサーリンク

Xに触れた

このブロックは何かに触れたということをキャッチするブロックです。

「マウスのポインター」のところをクリックすると、「端」という選択肢が出てきます。

でも実はそれだけではないんです。

他のスプライト(キャラクター)に触れたことをキャッチすることもできます。

ということでスプライトを増やしてみましょう。

右下の「スプライト」のウインドウから虫眼鏡の「スプライトを選ぶ」をクリック。

今回は「Apple」を選んでみます。

クリックするとプログラミング画面に戻ります。

スプライトのウインドウをみると、新しく追加した「Apple」が選択されています。

猫のキャラクターである「スプライト1」をクリックして、選択中のスプライトを変更しておきましょう。

先ほどの「Xに触れた」ブロックを見てみると、「Apple」という項目が増えています。

キャラクターのいるウインドウにもリンゴ(Apple)が追加されました。

最初は猫に被っているかもしれませんので、りんごはドラッグ&ドロップして少しずらしておきました。

今回はこんなブロックを作ってみました。

ちょっとややこしそうですが、実はそうでもありません。

  1. 緑の旗が押されたら実行
  2. 「ずっと」のブロックにある「10歩動かす」で猫のキャラクターを歩かせる
  3. 猫のキャラクターが「もし端に着いたら、跳ね返る」
  4. もし「Appleに触れた」ら、「25度右回転する」

といった感じです。

やっぱり言葉にすると難しそうですが、動きを見てもらえれば分かると思います。

スポンサーリンク

色に触れた

次はあるものに触れたらではなく、ある色に触れたことをキャッチするブロックです。

緑色になっている所が今、選択されている色です。

そこをクリックすると、色を選択するウインドウが出てきます。

ただバーをずらして色を選択するのはなかなな難しい。

そこで一番下の絵にスポイトが乗っかっているボタンをクリックします。

するとキャラクターがいるウインドウ以外が少し暗くなります。

そしてキャラクターがいるウインドウにマウスを持っていくと、円が表示されます。

この円は虫眼鏡で、スプライトに乗せると拡大されているのが分かります。

そして取得したい色のところに真ん中の四角を持っていき、クリックします。

すると先ほどの色の選択ウインドウで選択されている色が赤になりました。

先ほど「Xに触れた」で試したブロックの、「Appleに触れた」を「色に触れた」に変えて試してみましょう。

試してみるとこんな感じ。

ちなみに先ほど色をスポイトで選択しましたが、バーをずらして色を選択すると、同じ色にするのはかなり難しくて、りんごの赤に当たっても方向を変えないことも多いので注意してください。

つまり「色」「鮮やかさ」「明るさ」の値が、1でも違うと同じ色にならずに、思った通りに動かないわけです。

これがプログラミングの特徴ですので、覚えておいてください。

スポンサーリンク

X色がY色の触れた

次はある色がある色と触れたことをキャッチするブロックです。

これも先ほどと同じようにスポイトで色を選択していきますよ。

最初の色は猫のキャラクターの顔の明るい茶色を選択しました。

二つ目の色はリンゴのヘタの部分の濃い茶色を選択しました。

これも先ほどのブロックを利用して、「もし」の部分だけ入れ替えて試してみましょう。

先ほどリンゴの赤を選んだときはりんごに当たったら、すぐに方向転換していましたが、今回はりんごに被ってヘタの部分に当たるまで猫のキャラクターが進むようになりました。

スポンサーリンク

Xまでの距離

次は距離を取得するブロックです。

「マウスのポインターまでの距離」の「マウスのポインター」をクリックすると、距離を取得できる対象が出てきます。

現状では「マウスのポインター」か「Apple」までの距離が測れるようです。

問題はどこからということですが、これは今選択されているスプライト(キャラクター)からです。

今は猫のスプライト(キャラクター)が選択されているので、「猫からマウスのポインター」もしくは「猫からApple」の距離を取得するというわけです。

ということで「Apple」にしてクリックしてみると「150」と出ました。

先ほどの猫のスプライトを選択しているウインドウを見てみると、猫がいる場所はxが0、yも0になっています。

「Apple」をクリックしてみると、りんごがある場所はxが150、yが0ということで、確かに猫とりんごの距離は150ということで合っていました。

スポンサーリンク

Xと聞いて待つ:答え

次は質問をして、その答えを取得するブロックです。

答えの方にチェックボックスがありますが、ここにチェックを入れるとキャラクターがいるウインドウの左上に「答え」という枠が出てきます。

「Xと聞いて待つ」ブロックを、プログラミングウインドウにおいてクリックするとこんな感じになります。

下の方に答えを書くウインドウが表示されたので、ここに答えとして「Nori」を書いてみます。

書き終わったら、入力欄の右にあるチェックをクリックします。

すると左上の答えの欄に「Nori」と表示されました。

ということでこの二つのブロックは「質問をして答えを取得する」ブロックというわけです。

例えば計算問題を作ったり、クイズを作ったり、ゲームの選択肢を作ったりするのに使えるブロックですね。

スポンサーリンク

X キーが押された:マウスが押された

次はボタンが押されたことをキャッチするブロックです。

これには2種類あってキーボードのキーが押されたことをキャッチする「Xキーが押された」とマウスのボタンが押されたことをキャッチする「マウスが押された」があります。

ちなみにマウスは、右クリックはプログラミングウインドウでメニューが出たりと別の機能があるため、使えるのは左クリックだけです。

また「Xキーが押された」の方は、「スペース」と表示されているところをクリックすると他のキーが選択できます。

ということでこんな感じのブロックを組んでみました。

  1. 緑の旗が押されたら、ブロックを実行
  2. ずっとのブロックで、キー入力の待ち状態にする
  3. 「スペースキーが押されたら」、キャラクターを「右回転で15度回す」

試してみるとこんな感じです。

スポンサーリンク

マウスのx座標:マウスのy座標

マウスの座標を取得できるブロックです。

クリックしてみると、現在のマウスのx座標、y座標が取得できます。

スポンサーリンク

ドラッグできる/できないようにする

次は選択しているスプライト(キャラクター)をドラッグできるようにしたり、できないようにするブロックです。

「できる」のところをクリックすると「できない」という選択が現れます。

スポンサーリンク

音量

現在のマイクに入ってきている音量を取得できるブロックです。

チェックボックスにチェックを入れるとキャラクターがいるウインドウに音量が現れます。

また実行しても現在の音量を取得できます。

スポンサーリンク

タイマー:タイマーをリセット

次のブロックはタイマー関連のブロックです。

上のブロックにチェックボックスがあり、チェックを入れるとキャラクターがいるウインドウの左上にタイマーが表示されます。

「タイマーをリセット」のブロックを試してみるとこんな感じです。

このタイマーはずっと進み続けていて、「タイマーをリセット」のボタンで「0」になるようです。

スポンサーリンク

ステージのX

ステージの情報を取得するブロックです。

まず「ステージ」の方をクリックしてみます。

現在、ステージは一つしかないので「ステージ」が表示されました。

次に「背景#」をクリックしてみます。

「背景#」(背景の番号)の他、「背景の名前」、「音量」、「変数」が取得できるようです。

クリックして、実行してみるとその値が表示されます。

スポンサーリンク

現在のX:2000年からの日数

次は現在の年月日、時間、2000年からの日数を取得するブロックです。

「現在の年」の「年」をクリックすると、「年」、「月」、「日」、「曜日」、「時」、「分」、「秒」が選択できるようになっています。

クリックして実行するとその値が表示されます。

もう一つの「2000年からの日数」だとこんな感じ。

他のプログラミング言語だと1970年1月1日0時00分00秒を基準としたUNIX時間(エポック秒)というものがあり、それに代わる時間として使えそうです。

https://ja.wikipedia.org/wiki/UNIX時間

よく使う使い方は時間を測定するときに、最初にこの時間を取得し、次に時間を測定し終わった時点の時間を取得、そしてその差分が測定時間とする使い方です。

これは次回、プログラムを作って解説することとします。

スポンサーリンク

ユーザー名

最後はユーザー名を表示するブロックです。

チェックボックスにチェックを入れると、キャラクターがいるウインドウにユーザー名が表示されます。

またブロックをクリックして実行してみてもユーザー名が表示されます。

これで最後の「ブロック定義」以外のブロックを全ての解説が終了しました。

「ブロック定義」は自分でブロックを組み合わせて、新しい機能をもったブロックを作る機能なので、とりあえず解説はもっとScratchに慣れてからにしましょう。

次回からは簡単なプログラムを作っていきましょう。

ということでまずはタイマーを使ったプログラムを使ってみたいと思います。

ではでは今回はこんな感じで。

コメント

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