前の記事より↓
Scratchで、劇みたいな、ロールプレイング(ゲームブック)みたいな、
そんな作品を作ろうというのが、このシリーズの最終目標です。
その上で、ぜひ改善したい点が「マルチスレッド」の弊害として生じる複雑構造の解消でした。
いちばん良いのは、劇の台本、あの形でプログラムを書きたい。
ざっと流れを見るにも、直すにも、やはり台本型式じゃないと大変すぎ。
スプライトごとに書いてたら、流れがわかりませんからね。
それを、Scratchでどうやるか、考えたのですが、ひとつ方法を思いつきました。
こちらがスキームです↓
セリフ・セリフを言う役名、すべて、「ステージ」に集約してしまう、という方法。
役名と、セリフの内容を、それぞれ変数にしまって、
メッセージ(合図)をおくる、で全スプライトに合図を出す。
「もし〇〇なら」ブロックを使って、その役名の人だけが「セリフの内容」を言う、
という作戦。
これでさっそく、冒頭の劇をかいぞうしてみます。
ステージをえらんで、そこに以下を入力
①変数「いうひと」を指定
②変数「セリフ」を指定
③合図として「セリフをどうぞ!」をおくってまつ
最後の③で、「おくる」を選ぶと、セリフを言い終わるのを待ってくれないので、
「おくってまつ」を選びます。
この①~③を1セットとしてステージに記述していきます。
これで、台本が「ステージ」に完成します。
一方、各役者さん(スプライト)の方には、
↓この1ブロックのみ!
ステージからの「セリフをどうぞ!」を合図にして、
「もし〇〇なら」文で、
ステージから「いうひと」が自分だと指定されたときだけ、
ステージから指定された「セリフ」を読む。
↓完成版をScratchサイトで共有します。
https://scratch.mit.edu/projects/1143548671
以上、マルチスレッド方式のScratchで、
シングルスレッドふうな台本を作る作戦でした!




