31. 配列

目的

ブループリントで処理を記述する際に,同じようなデータを数多く扱うことがある.ここでは同じ型の複数のデータを扱うことができる配列の使い方を学ぶ.

説明

配列を作成する

配列を作成するには,以下のようにすればよい.

  • 変数を作る.
  • 変数を選択する.
  • 詳細パネルの「変数の型」の右のアイコンをクリックする.
  • 配列アイコンを選択する.

配列にデフォルト値を設定する

配列にデフォルト値を設定するには,以下のようにすればよい.

  • コンパイルする.
  • 配列を選択する.
  • 詳細パネルの「デフォルト値」で「+」をクリックし,デフォルト値を複数入力する.

ノードの配列ピン

ノードの3×3の四角い形のピンを配列ピンと呼び,ノードの左側にある配列ピンを配列入力ピン,右側にある配列ピンを配列出力ピンと呼ぶ.

配列ピンを繋ぐ

  • あるノードの配列出力(あるいは入力)ピンからマウスをドラッグする.
  • 別のノードの配列入力(あるいは出力)ピンでドラッグを終了する.
  • 型が異なる配列ピンを繋いだ場合は自動で変換するためのノードが追加されることがある.

イベントグラフの例

プレイを開始すると配列の要素を全て出力する

  • Itemsノード
    • Itemsという名前の配列の値を取得する
  • ForEachLoopノード
    • Array配列入力ノードに繋いだ配列の要素数分だけLoopBodyの実行出力ピンで繋いだノードの処理を繰り返す
    • ArrayElement変数出力ピンには配列の各要素が出力される

PrintStringノードは下から上に表示するため,配列の要素を表示する順は逆順となる.

aキーを押すと配列の最後に要素が追加される

  • ADDノード
    • 配列入力ピンで繋いだ配列の最後に変数入力ピンで繋いだ値を追加する

課題で使用するノード

  • LENGTHノード
    • 配列入力ピンで繋いだ配列の要素数を変数出力ピンに出力する
  • LAST INDEXノード
    • 配列入力ピンで繋いだ配列の最後のインデックスを出力する
  • INSERTノード
    • 配列入力ピンで繋いだ配列の変数入力ピンで指定したインデックスに変数入力ピンで繋いだ値を挿入する
  • REMOVE INDEXノード
    • 配列入力ピンで繋いだ配列の指定したインデックスの要素を削除する
  • CLEARノード
    • 配列入力ピンで繋いだ配列の要素を全て削除する

課題

以下の新規ブループリントプロジェクトを作り,課題を行え.ただし,秒数やメッセージを扱う際に変数を使うこと.

  • ファーストパーソン
  • デスクトップ/コンソール
  • ハイエンド
  • スターターコンテンツ有り

課題0

持っているアイテム名を配列を使って表現し,プレイを開始すると持っているアイテム名を全て表示するようにせよ.

課題1

プレイを開始すると5秒後に持っているアイテム名を全て表示するようにせよ.

課題2

aキーを押すと,持っているアイテム名を全て表示するようにせよ.

課題3

bキーを押すと,5秒後に持っているアイテム名を全て表示するようにせよ.

課題4

cキーを押すと,持っているアイテム数が表示されるようにせよ.

課題5

dキーを押すと,あるアイテム名が最後に追加されるようにせよ.

課題6

eキーを押すと,あるアイテム名が最初に追加されるようにせよ.

課題7

fキーを押すと,最初のアイテム名が削除されるようにせよ.

課題8

gキーを押すと,最後のアイテム名が削除されるようにせよ.

課題9

hキーを押すと,全てのアイテム名が削除されるようにせよ.