19.String型の変数とは?
まず変数はエディタ上で以下の事を指します↓このようにノードに組み込んで使用するものになります。
https://scrapbox.io/files/65b5753cd5f5e100255133ac.jpg
この変数とは「数値や文字などのデータ(値)を入れられる記憶領域」の事になります。もう少し簡単にいうと変数は「何らかのデータを入れる箱」の事です。
Step1:変数を使ってプレイヤー名を表示してみよう
では変数を理解するために、変数を使用して簡単な機能を作ってみましょう。今回は変数を使用してプレイヤー名を表示する機能をまずは作っていきます。こんな感じ↓に表示していき、最終的にプレイヤー名を変更して表示する所までやっていきます。
https://scrapbox.io/files/65b575dd5bcda60024331152.jpg
イベントグラフで右クリック > イベントBeginPlayノードを検索し作成します。その後、BeginPlayの矢印(実行ピン)からドラッグしてPrintStringノードを作成します。
https://scrapbox.io/files/65b576100c408800244955cc.jpg
レベルブループリントに戻って、マイブループリントウィンドウにある変数の項目の+ボタンをクリックします。
https://scrapbox.io/files/65b576413659c8002411ecec.jpg
🐈作成した変数の見方
ここで変数の見方ですが、左が変数の名前で右が変数の種類の事になります。
https://scrapbox.io/files/65b5769440da740027a2deaf.png
つまりこの上画像の場合は「NewVar_0」という名前の変数で、Booleanという変数の種類(型)になっている事を示しています。
「型」とは?
変数の種類の事を「型」と言います。変数では様々なデータを扱います。例えば「5」「-900」などの整数のデータ、「太郎」「花子」「3月30日」などの文字のデータ、「0.562」「-4.25」などの小数点含む数値のデータなど色々あります。変数では、こういったそれぞれのデータに対応した型を選ぶ必要があります。
変数を追加したらまず行う事は、変数(データを入れる箱)の名前を決定する事と、その変数で扱うデータの種類(型)を決める事です。
作成した変数を選択 > F2キー押して名前を「PlayerName」とします。その後、Booleanと書かれた場所をクリックし、Stringを選択します。
https://scrapbox.io/files/65b5774927f7a10025d9a76d.gif
最終的にこんな感じにします↓
https://scrapbox.io/files/65b57763f162b0002569318a.jpg
Stringの型とは?
Stringとは文字のデータを扱う変数の型です。例えば「太郎」「Mario」「aaaaa」「hanako0401」といった文字のデータを入れられるのがこのStringという型になります。
🐈PlayerNameという文字のデータを入れられる変数を作成できました!次にこの変数(データを入れる箱)にデータを入れていきます。
PlayerNameを選択した状態で詳細のデフォルト値を確認してみましょう。ここで作成した変数「PlayerName」に入れるデフォルトのデータを入力する事ができます。
ここに、あなたの名前を入力しましょう。このページでは太郎とします。
ちなみに変数のデフォルト値を入力する事は必須ではありません。
https://scrapbox.io/files/65b57813eb342d0025ac8ca5.jpg
コンパイルしないとデフォルト値は入力できないので注意
先ほど一度コンパイルしましたが、コンパイルした理由は変数を作成した後に一度コンパイルしないと変数のデフォルト値を入力できないためです。コンパイルしていないとこういった表示になって↓「コンパイルしてください」と表示されます。
なので変数を追加して、デフォルト値を入力する場合はコンパイルしてからと覚えておきましょう。
https://scrapbox.io/files/65b578424f4bfb00256c29cf.jpg
変数の項目からPlayerNameをドラッグ&ドロップでイベントグラフに追加します。ドラッグして離した時に、「GetPlayerName」か「SetPlayerName」が選べるのでGetPlayerNameを選択します。
https://scrapbox.io/files/65b578dd4cb9f00025be0439.gif
PlayerNameのピンから、PrintStringのInStringにワイヤーをドラッグで接続します。
https://scrapbox.io/files/65b5790fb6cc600025371b65.gif
変数のGetとは?
変数はイベントグラフに追加する時にGetまたはSetを選択できます。Getを選ぶとその変数の中身のデータを取得できるノードが作成されます。なので現時点ではPlayerNameの変数には「太郎」という文字のデータが入っているのでその「太郎」という文字を取得する事ができます。Setに関しては下の方で紹介します。
一旦これで完成したのでコンパイルして、プレイしてみましょう。
https://scrapbox.io/files/65b5799c53b5b000253f9aa2.gif
ゲーム開始時に「太郎」と表示されるようになりました。
https://scrapbox.io/files/65b579eb02aead002476c6a1.jpg
まずPlayerNameにはデフォルト値に入力したプレイヤー名「太郎」が入っています。変数を取得できるGetノードを追加し、PrintStringに接続しました。PrintStringはInStringのテキストを表示するという機能です。そのInStringにPlayerNameの変数を繋げているので、PlayerNameの「太郎」を取得してテキスト表示するという機能になっています。
🌟Step2:プレイヤー名を変更して、再度テキストを表示してみよう
では今度はPlayerNameの中身のデータを「太郎」から「マリオ」に変更して再度テキスト表示していきます。ゲーム開始時に以下の様に表示される機能を作っていきます。
https://scrapbox.io/files/65b57ad205ebac0024c0437b.jpg
PlayerNameをドラッグで追加して、今度はSetPlayerNameを選択します。
https://scrapbox.io/files/65b57af939331e002503bda5.gif
変数のSetとは?
Setを選択すると、その変数の中身のデータを変更できるノードが作成されます。今回のPlayerNameの変数であればデフォルト値の文字データ「太郎」から「花子」「Mario」などに上書きする事ができます。
PrintStringから実行ワイヤーを接続して、PlayerNameに「マリオ」と入力します。
https://scrapbox.io/files/65b57b547867d100248326af.jpg
再度同じようにPlayerNameをドラッグ > Getで追加してPrintStringに接続しましょう。
https://scrapbox.io/files/65b57bd84f4bfb00256c3182.jpg
セットノードからPrintStringに繋いでも同じ意味になります
ちなみに今回わかりやすさを重視してGetでPlayerNameを追加しましたが、セットノードの出力ピン(右下のピン)からPrintStringにワイヤーを伸ばしても同じ意味になります。
https://scrapbox.io/files/65b57c18eb342d0025ac94a5.jpg
どちらも同じようにその変数のデータを取得する事ができるので、どちらの方法でノードを組んでも構いません。
最終的にノードはこんな感じになりました↓
https://scrapbox.io/files/65b57c57e2dafb00245ff09a.jpg
コンパイルしてプレイしてみましょう。ゲーム開始時に「太郎」と「マリオ」と表示されるようになりました。
https://scrapbox.io/files/65b57c7953b5b000253f9edc.gif
🌟まとめ
https://scrapbox.io/files/65b57cc027444400234d7efa.jpg
🌟実践演習
プレイ時に『バンタン』、2秒後に『ゲーム』、3秒後に『アカデミー』というテキスト表示がされるブループリントを作ってみましょう。
Print stringのIn Stringに直接書き込まず、String型の変数を使ってやってみましょう。