スクラッチ(Scratch)で「6ヵ国語を喋るネコ」を作ろう!
スクラッチ(Scratch)の拡張機能である「音声合成」と「翻訳」ブロックにより多言語を話す方法、コードブロックの引数とコスチューム名を同一にすることによる効率的なスクリプトの作り方について解説します。
日時: 2024/02/24(土) & 2024/02/25(日) 17:30 ~ 18:30
場所: オンライン講座
対象: KIDSPROスクール生、KIDSPRO eラーニングをご利用の方
必要なもの: Scratchが使えるパソコン、またはタブレット
費用: 無料
完成版の6ヵ国語を喋るヘキサリンガルねこ!!
1. しゃべってほしい言葉を日本語で入力してね。
2. ステージ下のプレイボタンを押すとねこがしゃべるよ。
3. 右上のアイコンをクリックすると、日本語→英語→ドイツ語→イタリア語→フランス語→韓国語になるよ。
※学習用のScratchテンプレート(一部スクリプトが未完成)は、https://scratch.mit.edu/projects/969253597/を利用してください。
国際派ねこのスクリプト
国際派ねこのコスチューム
国際派ねこのコスチュームは、 のあります。ポイントは、コスチューム名が「日本語」「英語」「ドイツ語」「イタリア語」「フランス語」「韓国語」と後に説明する拡張機能「音声合成」と「翻訳」ブロックの引数名と同じにしている点です。
- 旗🏴をクリックすると、X座標=「0」Y座標=「0」にセットし、コスチュームをコスチューム名「日本語」にする。
- 「()と聞いて待つ」ブロックを実行する。
※このブロックは、()内に入力した吹き出し文字が表示され、入力ボックスがステージ下に表示されます。プレイヤーはこの入力ボックスに文字や数字を入力できます。入力が完了するまで、スクリプトの実行はここでストップします。入力が完了すると、「調べる」カテゴリのブロックに入力したデータが保存され、次のコードブロックが実行されます。 - 「START」メッセージを送信する。
- 「しゃべる」メッセージを受け取ると、以下の処理2-5を実行する。
- 「拡張機能:音声合成」カテゴリの「言語を()にする」ブロックで、言語を(コスチュームの名前)にする。
※国際派ねこのコスチューム名は「日本語」「英語」「ドイツ語」「イタリア語」「フランス語」「韓国語」なので、ステージに表示されているコスチューム名の言語にセットされます。 - 引数部分に「拡張機能:翻訳」カテゴリの((答え)を(コスチュームの名前)に翻訳する)値ブロックを連結した、「見た目」カテゴリの「()と言う」ブロックを実行する。
※((答え)を(コスチュームの名前)に翻訳する)値ブロックにより、(答え)値ブロックに保存された文章をステージに表示されているコスチューム名の言語に翻訳され、国際派ねこの吹き出し文字としてステージに表示されます。 - 引数部分に「拡張機能:翻訳」カテゴリの((答え)を(コスチュームの名前)に翻訳する)値ブロックを連結した、「拡張機能:音声合成」カテゴリの「()としゃべる」ブロックを実行する。
※((答え)を(コスチュームの名前)に翻訳する)値ブロックにより、(答え)値ブロックに保存された文章をステージに表示されているコスチューム名の言語に翻訳され、その言語でしゃべります。しゃべり終わると、次のコードブロックが実行されます。 - 「()と言う」ブロックを実行する。
※引数部分に何もデータを入力しない「()と言う」ブロックを実行することにより、国際派ねこの吹き出し文字が消えます。
※拡張機能のとを追加しないと、「()としゃべる」ブロックや(()を()に翻訳する)ブロックは利用できません。以下に説明する「拡張機能のブロックを追加するやり方」を参考にして拡張機能を追加してください。
「コスチューム変える」メッセージを受け取ると、コスチュームを次のコスチュームに変えて「Coin」の音を鳴らす。
画面左下の拡張機能ボタンをクリックする。
追加したい拡張機能を選ぶ。
画面左側のブロックパレットに、追加した拡張機能のコードブロックが追加される。
再生ボタンのスクリプト
旗🏴をクリックすると、X座標=「0」Y座標=「-145」にセットする。
- 「START」メッセージを受け取ったとき、処理を2-3ずっと繰り返す。
- マウスポインターに触れたとき大きさが110%になり、触れていないときは100%の大きさに戻る。
- マウスポインターが触れている状態で、マウスをクリックすると「(しゃべる)を送って待つ」が実行され「しゃべる」メッセージが他のスプライトやステージに送信される。
※「()を送る」ではなく「()を送って待つ」ブロックにした場合、「()を受け取ったとき」ハットブロックに連結されたスクリプトがすべて実行されたあとに次の処理が実行されます。「()を送って待つ」ブロックにすることにより、国際はねこがしゃべっている途中で新たなイベントが発生するのを防いでいます。
チェンジボタンのスクリプト
旗🏴をクリックすると、X座標=「200」Y座標=「140」にセットする。
- 「START」メッセージを受け取ったとき、処理を2-3ずっと繰り返す。
- マウスポインターに触れたとき大きさが110%になり、触れていないときは100%の大きさに戻る。
- マウスポインターが触れている状態で、マウスをクリックして、クリックをやめた後に「(コスチューム変える)を送って待つ」が実行され「コスチューム変える」メッセージが他のスプライトやステージに送信される。
※「<マウスが押されたではない>まで待つ」ブロックを「(コスチュームを変える)を送る」ブロックの前にセットした理由は、この「<マウスが押されたではない>まで待つ」ブロックがないと「(コスチュームを変える)を送る」ブロックが連続送信されるような状態になってしまい、このメッセージを受け取った国際派ねこのコスチュームが3-4回連続で変わってしまうことがあるからです。
MITメディアラボにより開発されたビジュアルプログラミング言語。子供たちが物語やゲーム、 アニメーションなどのインタラクティブな作品をプログラミングできる。また、自分の作った作品を世界中の人々と共有できるコミュニティーサイトでもある。世界中で1億人を超えるユーザがいる。
こちらのホームページにアクセスすれば無料で利用できる。