【Scratch】セリフで「言葉を一文字ずつ増やす表示」の作り方

※本記事はアフィリエイト広告を利用しています。
言葉を一文字ずつ増やす表示 ゲーム

どうもー!マミィです!

フリーランスプログラマーをしながら、「スクラッチプログラミング」・「マインクラフト」の真似したいと思う、役に立つ情報を中心に発信しています!

スクラッチでよく言葉が増えていくのをみるけど、どうやって作るの?

マミィ
マミィ

そのやり方を教えます!

一文字ずつ表示させる

ネコにセリフを一文字ずつ話させてみました。

普通に話すようにすると、セリフが一度に表示されてしまうのですが、それを喋っているように、一文字ずつ増やして表示するようにしています。

そのちょいテクを解説します!今回の記事の内容です↓

  • セリフを一文字ずつ増やして表示するブロック定義・初期準備
  • セリフを一文字ずついうブロック定義のコードの作り方
  • セリフを一文字ずついう定義ブロックの使い方

この記事を読むと、キャラクターに話させる時に、一文字ずつ増やして表示するやり方がわかります!

ここではセリフが1文字ずつ増えている動きが確認できます。

一文字ずつ表示させる

スクラッチページ→【スクリプト演奏】二月の勝者

スポンサーリンク

セリフを一文字ずつ増やして表示するブロック定義・初期準備

ブロック定義の完成品はこちらです↓

セリフを1文字ずつ言わせるブロック

これを使うと、ネコのセリフが増えていくようになります。

なんかセリフっぽくっていいですよね。

「定義」という言葉が難しく感じますが、何度も同じ処理をすることがある場合に、何回も同じコードを作るのは面倒ですよね。

そんな時に、同じことをするコードをまとめて「定義」しておき、それを使うと同じ動きをしてくれます。

全体的の動きの解説

定義に入ってきたセリフをリストに一文字ずつ入れていきます。

リストとは?

「リスト」とは、イメージはタンスみたいなもので、1段目に○が入っていて、2段目には△が入っていて・・・とタンスにデータを整理する感じです。

3段目に入っているものを取り出すなどの場所指定ができます。

今回は、セリフをリストに一文字ずつ入れていきながら表示します。

一文字をリスト入れたら表示

二文字目をリスト入れたら表示

三文字目をリストに入れたら表示

・・・

「二月の勝者」という文字を入れた場合は「二」「二月」「二月の」「二月の勝」「二月の勝者」と5回セリフとして表示させることにより、1文字ずつ増えていくように見せています。

STEP1:ブロック定義を作る

ブロックを作る
ブロックを作る

ブロック定義→ブロックを作る

ブロックを作る初期画面
ブロックを作る初期画面

ブロックを作る初期画面が開くので、「引数を追加」をクリック

引数を追加した状態
引数を追加した状態

引数が追加されました。

引数とは、このブロック内で使うために渡す値です。

今回作ったブロック
今回作ったブロック

引数の名前を「言葉」としました。このブロックの名前は、「一文字ずついう」にしています。

定義を作ると、定義の中身を作るためのコードが表示されます。

定義を作るための先頭コード

STEP2:定義内で使う「変数」を作成する

定義内で、変数を0から1ずつ増やしていき、リストの【変数】番目という部分に使います。

まずは変数の作り方です!

変数を作る

変数→変数を作る

新しい変数を作る

変数名を入力してOKをクリック。

文字数という変数

変数名を決めます。なんでもいいですが、今回は「文字数」としました。

STEP3:定義内で使う「リスト」を作成する

言葉リストに1文字ずつ入れている様子
言葉リストに1文字ずつ入れている様子

リストにセリフを入れた時に、1文字ずつ分解してリストに追加していきます。

まずは、リストの作り方です!

リストを作る
リストを作る

変数→リストを作る

新しいリスト
新しいリスト

リスト名を入力してOKをクリック。今回は「言葉リスト」にしました。

セリフを一文字ずつ増やすブロック定義のコードの作り方

ブロック定義完成形
ブロック定義完成形

STEP1:変数の初期化

まずは、変数の初期化をします。

初期化をしないと、次に使う時に前回使ったデータが残ったままになってしまいます。

変数初期化
変数初期化

【文字数】を【0】にする

【言葉リスト】のすべてを削除する

STEP2:「引数」の「文字数」分だけ繰り返す処理

引数付きの定義にしたので、引数に入ってきた文字を分解します。

使い方はこのように定義に言わせたいセリフを入れます。

引数の「言葉」には、『二月の勝者の黒木先生の名言集!』が入ってきます。

このセリフの文字数は、15文字です。この15という数を調べます。

演算
演算

演算→【りんご】の長さ

を繰り返しコードの中にいれます。

今回知りたい長さは、引数の言葉の長さなので、【言葉】の長さとします。

引数を入れる場所
引数を入れる場所

引数の【言葉】をつかんで入れることができます。

これで引数に入ってきた言葉の長さがわかり、この長さ分だけ繰り返しすることができるようになります。

二月の勝者の黒木先生の名言集!』

の場合は、15文字なので、15回繰り返しします。

STEP3:引数の言葉を1文字ずつに分解する

一文字ずつ文字を切り取る作業を15回繰り返しながら、分解した文字をリストに入れていきます。

その際に、【文字数】番目の文字をリストに追加するので、変数の【文字数】を1ずつ増やして、文字列の位置をずらして取得します。

例えば・・・

『二月の勝者』

1番目→二

2番目→月

3番目→の

5番目→者

4番目→勝

となりますね!

【言葉】の【文字数】番目の文字を【言葉リスト】に追加します。

言葉リストにセリフが1文字ずつ入った状態
言葉リストにセリフが1文字ずつ入った状態

15回繰り返されると、このようなリストの中身になります。

STEP4:セリフで言わせる

しゃべらせる
しゃべらせる

リストに1文字ずつ追加していきながら、リストに入れた言葉をキャラクターに言わせます。

言わせるコード
言わせるコード

見た目→【こんにちは!】と言う

これを使って、言わせるセリフを【言葉リスト】を言わせます。

○秒待つ
○秒待つ

繰り返しをしているので、セリフを言わせたあとに【0.1】秒待つ を入れます。

これを入れないと、繰り返しのスピードが速すぎて1文字ずつ出している感が出ません。

このセリフを言わせたあとに、効果音を入れてゲームでよくある1文字ずつ出るごとに、ポポポポみたいな音を入れても効果的です。

これで定義が完成しました!

セリフを一文字ずつ増やす定義ブロックの使い方

定義の使い方
定義の使い方

言わせたいセリフを定義の引数に入れれば1文字ずつ増えて表示されます。

【セリフを文字ずつ増やす】 まとめ

以上、セリフを1文字ずつ表示していくやり方を解説しました!

これができると、ゲーム的な見せ方ができるのでカッコいいものが作れますね。

定義を使えると、コードがスッキリする上に、何度も同じ処理は書かなくていいので、楽です。

是非、やってみてください!

マミィ
マミィ

楽しんでプログラミングしましょうー!

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