前の記事より↓

 

 

 

Scratchで、劇みたいな、ロールプレイング(ゲームブック)みたいな、

そんな作品を作ろうというのが、このシリーズの最終目標です。

 

その上で、ぜひ改善したい点が「マルチスレッド」の弊害として生じる複雑構造の解消でした。

いちばん良いのは、劇の台本、あの形でプログラムを書きたい。

ざっと流れを見るにも、直すにも、やはり台本型式じゃないと大変すぎ。

スプライトごとに書いてたら、流れがわかりませんからね。

 

それを、Scratchでどうやるか、考えたのですが、ひとつ方法を思いつきました。

こちらがスキームです↓

セリフ・セリフを言う役名、すべて、「ステージ」に集約してしまう、という方法。

役名と、セリフの内容を、それぞれ変数にしまって、

メッセージ(合図)をおくる、で全スプライトに合図を出す。

「もし〇〇なら」ブロックを使って、その役名の人だけが「セリフの内容」を言う、

という作戦。

 

 

これでさっそく、冒頭の劇をかいぞうしてみます。

ステージをえらんで、そこに以下を入力

①変数「いうひと」を指定

②変数「セリフ」を指定

③合図として「セリフをどうぞ!」をおくってまつ

 

最後の③で、「おくる」を選ぶと、セリフを言い終わるのを待ってくれないので、

「おくってまつ」を選びます。

この①~③を1セットとしてステージに記述していきます。

これで、台本が「ステージ」に完成します。

 

一方、各役者さん(スプライト)の方には、

↓この1ブロックのみ!

ステージからの「セリフをどうぞ!」を合図にして、

「もし〇〇なら」文で、

ステージから「いうひと」が自分だと指定されたときだけ、

ステージから指定された「セリフ」を読む。

 

↓完成版をScratchサイトで共有します。

https://scratch.mit.edu/projects/1143548671

 

以上、マルチスレッド方式のScratchで、

シングルスレッドふうな台本を作る作戦でした!