シンプルゲームでプログラミングを学ぼう!(20)「キャラクターにしゃべらせてみよう」
シンプルゲームでプログラミングを学ぼう!(20)「キャラクターにしゃべらせてみよう」
★今日のサンプルプログラム・・・> こちら
※できれば以下の記事をさっと見てから開いてくださいね!
※はじめてこのページにお越しの方は、シリーズ(1)からご覧いただき、各回ごとにサンプルプログラムをさわって頂けるとうれしいです。
これまで、サンプル教材 落ち物系ゲーム「ボールドロップ」を少しずつ進化させてきています。※最初に設定した「ボールドロップ」からイメージは大きく変わってきましたが・・・
先回のおさらい → こちら
前回の記事 → こちら
前回の成果
・落ちてくるキャラごとに、ポイントが異なるという仕組みを組み込みました
これまではどのキャラを受け取っても、平等にプラス1点でした。キャラによって1点から5点と持ち点が異なり、受け取ることができた時は、その持ち点がプラスされ、とれなかった時は逆にその分がマイナスになるという仕組みをつくりました。
今回の進化(変化)ポイント
・キャラクターがしゃべる仕組みを組み込む。
なんだかやかましくなりそうですが・・・
ゲームとしての面白さが向上するかどうかはわかりませんが、「思いついたら試してみる」というチャレンジ精神といういかポジティブな姿勢がプログラマー否クリエーターには必要だとボクは思います。(毎回おなじことをいっています)
前回までに作ったプログラムを生かしつつ、今回も手を加えてみたいと思います。
最初に、これからしたいことをイメージします。
・ゲームのはじめに、ネコが「さあ、はじめるよ!」、ゲームの終わりに「クリアしました!」「時間です!」「パワーが無くなりました!」・・・「獲得ポイントは( )点です!」と話す。
・得点がプラス・マイナスの時、「プラス1・・・」「マイナス1・・・」と話す
では、さっそく取りかかります。
しゃべらせるためには、プロジェクトに拡張機能「音声合成」を追加します。
左下の紫色のボタン→音声言語を選択すると、コードカテゴリエリアの一番下に、音声合成が入っています。
ここで使えるブロックは、3つだけです。
・「・・・」としゃべる
・声の種類を選択(アルト・テノール・ねずみ・巨人・子猫)・・・今回は、ネコは”アルト”・落ちてくるキャラは”ねずみ”にします。
・言語は、”日本語”にします。
一昔前なら、コンピュータが話すだけでみんな驚いていたのですが、最近は人間と見分けられないクオリティの音声言語が当たり前になってきているのでScratch内蔵の音声言語レベルでは誰も驚かないのかも知れません。
でも・・・
Scratchが話せる言語はこんなにあります。
今回は扱いませんが、拡張機能「翻訳」と組み合わせると、「日本語を入力して、それを翻訳して、外国語で話す」ということもできます。
Google翻訳であれば、単純に翻訳して話すことができますし、性能も高いです。しかしScratchでは、プログラミングに翻訳機能を組み込むことが可能です。この違いはとても大きな意味を持つとボクは思います。これについてはまた後日。
さっそくネコ(設定)にしゃべらせるためのコードブロックを挿入します。
最初に、言語の種類、声の種類を設定しておきました。
しゃべらせたいタイミングで、【(~)としゃべる】コマンドを挿入しました。
(~)しゃべる内容に、{ポイント}(変数)を入れたいときは 【( )と ( )】のブロックを使います。
これは、文字列を組み合わせるときに使います。
ここで注意することは、
数字を数として認識させるには、必ず半角であることが必要です。これはScratchの約束ごとです。
全角で数字を入力してしまうと、数字ではなくて、ことば文字として扱われてしまうので、プログラムはちゃんと動きません。
とくにキーボードを使って日本語入力を交えつつプログラミングしているとき、全角の数字が混入しやすくなります。あとで修正したくても、見つけにくくで苦労します・・・
これで、ネコがしゃべるようになりました。
BGMと混じって、聞き取りにくいこともあるかも知れません。
次に同様に
ポイントが入ったときに、今度は、落ちてくるキャラにポイント(プラス・マイナス)をアナウンスさせます。
数字は、英語でも読めますので、ためしに、言語の種類は英語にしてみます。
今回はここまで・・・
画面も音もゴチャゴチャしてわけわからんよぉ~という声が聞こえてきそうです。
実際のゲームでは(ゲームでなくてもそうですが)、足し算的アプローチではなく、引き算的なアプローチも必要になります。
でも、しばらくは、プログラミングを体験するためと割り切って足し算的アプローチで行きますね。
<つけたし>
今回のように、言語が日本語・英語、音声種類がアルト・ねずみとか、混在する場合は、しゃべるブロックの直前に、言語や音声種類を指定するブロックを置いた方が確実です。(言語指定・音声種類指定は、グロバール:全体で共有みたいなので・・・)
★今日のサンプルプログラム・・・> こちら
せっかくここまできたのだから・・・あそこを・・・もうすこし・・・(でも、ゴールはもう目の前かも知れません)
ここをこうしたい! もっとこうしたい!
そういう思いが高まってきた人は、次回の記事もぜひご覧ください。
・・・次回に続く・・・
前回までの記事もご覧くださいね。
<カネッチの学舎 関連リンク>
・Note版トップページ https://note.com/kanech21
・テーマ別マガジン https://note.com/kanech21/magazines
・WEB版 カネッチの学舎 小学部トップページ
https://kanech21.jp/k_index.html
・カネッチのスクラッチスタジオ https://scratch.mit.edu/search/studios?q=kanech21
・カネッチの学舎 コンテンツストア
https://kanech-manabiya.stores.jp/
この記事が気に入ったらサポートをしてみませんか?