空間に文字を書く
空間に文字を書けるとしたら、あなたはどんな言葉を書いてみたいですか?
お世話になっている方への感謝の言葉。好きな小説の一節。座右の銘。
S2AR を使えば、その夢が実現します。Scartch プログラミングで空間に文章を書くことができるのです。
空間に文字を1つ書いてみる
早速、プログラミングに入っていきます。
図2-2-1
文字ブロックを Scratch のスクリプトエリアに移動します(.)
図2-2-1を参照に「文字を一つ書く」プログラムを完成させてください。
図2-2-2
パソコンの上に原点を置いてから、プログラムをクリックして実行してください。図2-2-2のように「あ」が空間に現れたら成功です。(文字の色はお好きなものを選んで「色指定ブロック」から設定しておいてください)
上手く文字が表示できたら、座標値や文字を別のものに変えて、何度も試してみてください。軸方向(x, y, z)を変えると、どのように表示されるか、確認しておきましょう。
空間に文章を書く
図2-2-3
次に文章を書いてみましょう。S2AR に収録されているフォント(美咲フォント)は幅、高さともに7になっています。よって文字間隔は8、行間隔は10にすると、きれいに表示させることができます。
図2-2-4
図2-2-4を参照に、プログラムを完成させてください。X座標は文字間隔に合わせて 8 ずつ大きくします。Y座標は行間に合わせて 10 ずつ小さくします。
図2-2-5
プログラムを実行して、空間に文章を表示させることができました。
プログラムの改造
次はプログラムを改造していきます。改造するポイントは
①X座標、Y座標の数値を自動で変更させたい
②文字を1文字ずつではなく、文章で入力したい
①については、前章で学んだ「繰り返し処理」「変数」を使えば簡単にプログラムできます。
②については、「文字列」を学ばなければなりません。
文字列操作
文字列は「文字の集まり」を表すプログラミング用語です。文字の集まりは「単語」「文章」と考えてかまいませんが、「5%TY7mliag9dn」などの意味不明なものも文字列と呼びます。
ScratchX では、文字列を扱うのに便利なブロックが用意されています。
図2-2-6
2つの文字列を連結します。図2-2-6では、「hello 」(←hello の後にスペースが入っています)と「world」が連結されて「hello world」になります。(今回のプログラムでは使いません)
図2-2-7
文字列から「文字」を抜き出します。このブロックを使えば、文章から「文字」を一つずつ抜き出して、空間に表示させることができます。
図2-2-8
文字列の長さを調べることができます。文章から「文字数」を調べることで、何回繰り返すべきか、プログラムに教えることができるのです。
変数の設定
今回のプログラムで使用する変数は s2arX, s2arY, s2arZ, string, i の5つです。カテゴリー「データ」→「新しい変数」から作成してください。
s2arX は「s2ar の座標系の X座標」を表す変数です。
s2arY は「s2ar の座標系の Y座標」を表す変数です。
s2arZ は「s2ar の座標系の Z座標」を表す変数です。
string は「文字列」を表す変数です。
i は「カウンター変数」です。
図2-2-9
上の図を参照に、変数の初期値を設定してください。文字列は「いつも^ありがとう^お母さん」にしました。「^(カレット)」についてはあとで説明します。
1行で文字列を表示させる
図2-2-10
「繰り返し処理」を使って、文字列を表示させます。
繰り返し回数は((String)の長さ)になります。「文字ブロック」で表示させる文字は(((i)+(1))番目(String)の文字)となり、( i + 1 )番目であることに注意が必要です。s2arX は文字間隔の「8」 ずつ大きくしていきます。
図2-2-11
1行で文字列を表示できました。
改行させるには
以下は書籍でご確認ください