Scratch各ブロックの使い方(調べる)

Scratchで用意されているブロックについてカテゴリーごとに簡単な使い方を説明します。

このページでは「調べる」カテゴリーに含まれているブロックを紹介します。他のカテゴリーのブロックの使い方についてはこのページの最後にリンクを記載してありますのでそちらよりご参考にどうぞ。

調べるパレットのブロックの使い方

調べるパレット(カテゴリー)には初期設定で20個のブロックが用意されています。ブロックの形状としてはスタックブロックが4個、真偽ブロックが5個、値ブロックが11個となります。

調べるパレットという名称の通り、スプライトやプロジェクトの状態(パラメーター)を調べるためのブロックが多く、制御パレットや演算パレットのブロックと合わせて使用するブロックが多くなります。

“マウスのポインター”に触れた

スプライトが指定した箇所に触れたかどうかを判定するためのブロックになります。指定できるのは”マウスのポインター”、”端”(ステージの端)が初回から選択できる他、スプライトを最初からいるScratchCat以外に追加している場合はスクリプトを記述する以外のスプライト(最初のScratchCatに記述する場合は追加したスプライト、追加したスプライトに記述する場合は最初からいるScratchCat)を選択可能になります。

使用例としては、制御パレットの「<>まで待つ」ブロックと組み合わせてマウスポインターがスプライトに触れたり、または画面の端に触れるまで待機させるスクリプトを組むことができます。

“”色に触れた、””色が””色に触れた

スプライトが特定の色に触れたとき、または特定の色が別の特定の色に触れたかどうかを判定するための真偽ブロックになります。

色の指定は、各色の部分をクリックするとマウスカーソルが手の形に変わりますので手の形のときにクリックした場所の色が設定されます。基本的にはスプライトが触れる場所を設定するため、ステージ内の別のスプライトや背景の一部をクリックして設定しますが、パソコンの画面内であればステージ外でも指定できます。(※ただし、全くの同色がステージ内にないと機能しない可能性があります。)

“What’s your name?”と聞いて待つ、答え

入力ボックスを表示させるためのブロックが「”What’s your name?”と聞いて待つ」ブロックです。”What’s your name?”(あなたの名前はなんですか?)の部分は変更可能で質問したい内容を自由に記述できます。

そして、入力ボックスに入力した文字列は最初から用意されている「答え」ブロックに格納されます。「答え」ブロックは変数となっており、1回目の質問で回答後、2回目の質問をした場合は上書きされます。スクラッチでは入力ボックスの表示方法が限られているため、この「”What’s your name?”と聞いて待つ」ブロックは使い道の多い貴重なブロックです。

「答え」ブロックは全スプライトで共通となります。このため、2つ以上のスプライトでそれぞれ質問したとしてもあとから答えた方の結果しか格納されませんので注意しましょう。

“スペース”キーが押された

特定のキーが押されたかどうかを判定するためのブロックが「”スペース”キーが押された」の真偽ブロックになります。”スペース”はスペースキーの他に上下左右の矢印キー、英字、数字、そしてどのキーが押されても真とする”どれかの”が用意されています。

類似のブロックとしてイベントパレットに「”スペース”キーが押されたとき」と言うブロックがあります。

こちらはハットブロックであり、指定したキーが押されたと同時につなげたブロックのスクリプトが実行されます。指定したキーが押されたかどうか判定するブロックとしては同じですが、真偽ブロックとハットブロックで使いどころは大きく変わるので両方しっかりと把握しておきましょう。

マウスが押された

「”スペース”キーが押された」がキーボードの押下を判定している真偽ブロックに対してこの「マウスが押された」はマウスの押下を判定している真偽ブロックになります。マウスを押していればクリックでもドラッグなどに長押しでも反応し、左クリックや右クリックも問わずマウスが押されているかのみを判断します。

マウスのX座標、マウスのY座標

マウスのX座標とY座標を示す値ブロックです。現在のマウスがどの位置にいるかを調べたいときに使用します。

プログラミング中はステージの右下にX座標とY座標が表示されていると思いますが、その値を変数として返しているだけになります。

制御パレットの「ずっと」ブロックなどと組み合わせて動的に取得することによってマウスを使ったゲームなどに応用することができます。

音量

マイクで拾った音声の音量を取得するための値ブロックになります。このため、使用するためにはマイクが許可されてONになっている必要があります。

気をつけなくてはいけない点として音パレットにも「音量」ブロックがあります。

調べるパレットの「音量」ブロックはマイクで拾った音声の音量に対して、音パレットの「音量」はスプライトごとに設定されている音量になります。つまり、音を鳴らすときなど出力時の音量となります。

調べるパレットの「音量」ブロック = 入力の音量

音パレットの「音量」ブロック = 出力の音量

と覚えておきましょう。

ビデオを”入”にする

ビデオ機能を使うためのブロックが「ビデオを”入”にする」になります。使用するためには実行する端末(パソコンやスマホなど)にカメラが付いている必要があります。

ビデオを入にすることによって、ステージにカメラで撮影した映像がリアルタイムで表示されます。「ビデオを”切”にする」ことによって表示された映像を消すことができます。また「ビデオを”左右反転”にする」ブロックを実行すると表示されている映像を反転させて表示させることができます。

「ビデオを”左右反転”にする」はビデオが切れているときに実行すると左右反転と同時に「ビデオを”入”にする」も実行されます。つまり最初から反転された映像がステージに表示されるようになります。

ビデオの透明度を”50″%にする

「ビデオを”入”にする」ブロックで映像をステージに表示する際の透明度を変更するためのブロックになります。0%を指定することによってしっかりとした映像となり、100%を指定することによって全く表示されなくなります。

透明度を100%にしていたとしても見えないだけで映像は表示されています。このため、「ビデオの”モーション”(”このスプライト”)」ブロックなどの対象にはなりますので覚えておきましょう。

ビデオの”モーション”(”このスプライト”)

ビデオ(カメラで撮影している映像)の動きの量を検知するためのブロックになります。”モーション”は”向き”、”このスプライト”は”ステージ”に変更することができます。このため、使用するためにはビデオカメラが許可されてONになっている必要があります。

対象となるのは”このスプライト”の場合、スプライトに隠れている部分のビデオの動き、”ステージ”の場合はステージ全体のビデオの動きになります。

“モーション”とは検出した動きの大きさを0〜100で表現しています。このため、動きがなくなると0になります。”向き”とは検出した動きの向きをー180〜180で表現しています。どのように動くとどういった数値になるかは難しいので実際に動かして把握してみましょう。

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

値ブロックである「タイマー」は、Scratchのプロジェクトが起動してからの経過時間(秒数)を保持している変数になります。

プロジェクトの起動時間だけでは使い道が限られますが、このタイマーは「タイマーをリセット」ブロックでリセットすることができます。このため、プロジェクトを起動してからの時間だけではなく”タイマーをリセットしてからの時間”として使用することができます。

例えば、時間制限のあるゲームを作る場合、下記のように制限時間を過ぎたら「”メッセージ”を送る」ブロックが実行されるようにすることによって時間を計測することができます。

このとき、演算ブロックの「”” < 0」を使用します。「”” = 0」の場合、「制限時間 – タイマー」がぴったり0にならずにマイナスになってしまう可能性があります。この場合、いつまでも繰り返し処理から抜けなくなる可能性があります。

“x座標”(Sprite1)

スプライトの情報を取得するためのブロックが「”x座標”(Sprite1)」になります。取得することができるスプライトの情報は”x座標”、”y座標”、”向き”、”コスチューム#”、”コスチューム名”、”大きさ”、”音量”、”(対象のスプライトに紐づく)変数”の値を返します。

動きパレットにも同様に”x座標”、”y座標”、”向き”を取得するための値ブロックが存在していますが、動きパレットのブロックはスクリプトを実行しているスプライトの情報のみとなります。これに対して調べるパレットの「”x座標”(Sprite1)」ブロックは、他のスプライトの情報も取得することができます。

また、スプライトだけではなくステージの情報も取得することができます。ステージの”背景#”、”背景の名前”、”音量”、”(ステージに紐づく=すべてのスプライト用)変数”の値を返します。

現在の”分”、2000年からの日数

現在の時刻から数値を取得するためのブロックが「現在の”分”」と「2000年からの日数」ブロックになります。「現在の”分”」は”分”を変更して、”年”、”月”、”日”、”曜日”、”時”、”秒”を取得することもできます。例えば、ゲームのハイスコアのレコードを記録する際に各値を取得することによっていつハイスコアが更新されたかなどを記録することができます。

2000年からの日数はその名称の通り、2000年を起点にした日数を表示します。気をつけるポイントとしては、日数ですが整数を返すわけではないということです。1日を1として、日中であれば経過時間を割って小数まで表示されます。例えば現在時点(2018年4月7日19時21分)に実行すると以下のようになります。

ユーザー名

プロジェクトを閲覧している人のユーザー名を取得するための値ブロックになります。ユーザー名を取得するためにはScratchにサインインしている必要があり、サインインしていない場合は空白となります。登録ユーザーのみが利用できるコンテンツを作るときのチェックに利用したり、データを登録するためのキーに利用することができます。

ブロックの使い方カテゴリ一覧

Scratchで用意されているブロックについてカテゴリーごとに簡単な使い方を説明します。 このページでは「見た目」カテゴリーに...
Scratchで用意されているブロックについてカテゴリーごとに簡単な使い方を説明します。 このページでは「動き」カテゴリーに含...
Scratchで用意されているブロックについてカテゴリーごとに簡単な使い方を説明します。 このページでは「イベント」カテゴリー...

シェアする

  • このエントリーをはてなブックマークに追加

フォローする