スポンサーリンク
Scratch

Scratch(スクラッチ)の文字入力「〇〇と聞いて待つ」の方法

Scratch

今回は文字入力の方法を解説します。
利用者に何か数字や文字を入力させたいことはありますよね。
この時使うのが「〇〇と聞いて待つ」の部品です。
この部品はちょっと一癖のある部品なので使い方を解説しておきましょう。

スポンサーリンク

文字を入力するには

利用者(プレイヤー)に数字や文字を入力させたい場合ってありますよね。
その入力された内容を次の動作に生かしたい場合ですね。
例えば、プレイヤーの名前を入力させたいとか、占いをするために生年月日を入力してほしいとかです。
そんな時は「〇〇と聞いて待つ」の部品を使います。
この部品を使うと、プログラムを組み込んだスプライトに吹き出しが出て「〇〇」の部分をしゃべります。
そして、画面の下に入力欄が出て待ってくれます。

今回は以前作成した「鬼を決めろ」というプログラムを材料に説明します。
余裕があればこの記事もご覧ください。
https://omouga-mama.com/yu-na/1026/

この例では猫の絵のスプライトに「名前を入力してねと聞いて待つ」というプログラムを作ります。
すると画面の下に文字を入力する欄が出てきます。
文字を入力してエンターキーを押すか、右の✓ボタンを押すまで待ちます。

入力された文字を利用するには

次にやりたいことは、入力された文字をプログラムの中で使いたいですね。

入力された文字は「答え」という部品で取り出すことができます。
答えを「変数」に入れます。

この例では「答えを候補に追加する」という部品です。
「鬼候補」というリストの変数を使っているのでこのようになります。
普通の変数の場合は「〇〇を答えにする」という部品を使います。

あらかじめ「鬼の名前」という変数を作っておきます。
これで、このプログラムを実行した後は「鬼の名前」という変数には入力された名前が入っている状態になります。

ちょっと使いにくいことがある

ここまでが基本的な使い方です。
実際使ってみるとちょっと使いにくい場合があります。
一つは、猫の絵などのスプライトを表示したくない場合です。
スプライトを置くと画面の配置で邪魔な場合があります。
もう一つは、文字を入力する欄が表示されたままになる問題です。
入力が終わっても、入力欄が表示されたままなのは邪魔ですね。

このような問題を解決する方法を解説しましょう。

ちょっと使いにくいを解決する小ネタ

スプライトを表示したくない

文字を入力させたいだけなのに、猫の絵などのスプライトを置いて喋らせなければなりません。
Scratchでは文字を入力するための部品が対話型を前提にしているためです。
ちょっとわかりにくかったですね。
「〇〇と聞いて待つ」という部品の名前からもわかるように、「聞いて待つ」=「会話」をするという考え方なのでしょう。
キャラクタが喋って利用者に伝えるという作りになっているようです。

とはいえ、画面のサイズも大きくないので、なるべく余計なものを表示したくないですよね。
そんな時はどうしたらいいのか。

スプライトを非表示にしましょう。

スプライトのウィンドウで消したいスプライトを選んで、目のアイコンに斜線ついている方を選びましょう。
するとスプライトは表示されなくなります。
肝心の「〇〇と聞いて」の部分はテキストの入力欄に表示されるようになります。

ずいぶんシンプルになったのではないでしょうか。

入力欄を消したい

プログラムを作ってみると気づくのですが、一度表示した文字の入力欄がなかなか消えません。
利用者が文字を入力したら、入力欄を消して画面全体を使えるようにしたいのですが。
このようなときは「すべてを止める」または「このスクリプトを止める」の部品を使います。

どちらを使うかは時と場合によるので、「その時に考えてください」といいたいところですが・・・そんなこと言われても困りますよね。
まずは「このスクリプトを止める」を使って思うように機能しなければ「すべてを止める」に変えてみましょう。

少し解説をすると、作成したプログラムのブロック(塊)の中に「〇〇と聞いて待つ」の部品があれば「このスクリプトを止める」の部品でいいでしょう。
しかし、メッセージを送るなどの機能を使って「〇〇と聞いて待つ」と離れたブロックで入力欄を消したい場合はうまく機能しないでしょう。

コメント

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