20.Integer型の変数とは?
変数の「型」とは?復習しておこう
まず変数とは簡単に言うと「何らかのデータを入れる箱」の事です。そしてその変数(データを入れる箱)には種類があります。例えば文字のデータを入れるString型だったり、整数のデータとなるInteger型だったり、小数点を含む数値のデータをいれるFloat型だったりがあります。作るノードによって変数の「型」を決定する必要があります。
https://scrapbox.io/files/65b5801dd384bd0025757f88.jpg
色々な型があるのですが、似たようなものが多く実際に頻繁に使用するのは数種類程度です。今後のページで主な型について紹介していきます。
🌟Step1Integer型の変数を作成してみよう
https://scrapbox.io/files/65b580b182e7680024d8b0e0.jpg
Integer型は整数のデータを扱える変数の種類のことです。例えば「4」「-100」「5434536」とかの整数データを入れる事ができます。そしてInteger型の変数は計算を行う事ができます。計算が行う事ができるのでプレイヤーのHPやスコア,攻撃力などの数値のデータに使用されます。
変数のプラスボタンを押して変数を追加します。名前を「Count」にして型をIntegerにします。
https://scrapbox.io/files/65b58140b39e850023dcfec5.gif
コンパイルして、Countの変数を選択した状態で詳細からデフォルト値を確認してみましょう。デフォルト値は「0」となっている事を確認します。
https://scrapbox.io/files/65b5819405ebac0024c05746.jpg
Countのデフォルト値を「100」と入力します。
https://scrapbox.io/files/65b581cfe9737f0026510762.jpg
まずはこのCount変数の中身のデータ「100」をテキスト表示してみましょう。
イベントBeginPlayノードとPrintStringノードを作成しておきます。
https://scrapbox.io/files/65b582021bd71900253f94ab.jpg
Countの変数をドラッグで追加して、Get Count(データの取得)を選択します。
https://scrapbox.io/files/65b58228dab4b500258060ef.gif
GetCountノードから、PrintStringのInStringにそのまま接続します。すると自動で「変換ノード」が作成されて接続されます。
https://scrapbox.io/files/65b58256fce52c0024adf13d.gif
変換ノードとは、違う型のデータを繋げる時に変換してくれるノードの事になります。変換ノードについては下の方で詳しく解説していくので一旦置いておきましょう。
コンパイルしてからプレイしみてましょう。Countという変数には「100」という整数データが入っているので「100」とテキスト表示されました。
https://scrapbox.io/files/65b58303fdcf5200268f8324.jpg
型の違いと変換ノード
型が同じであればそのまま直接繋げる事ができますが、異なる型どうしだと変換する必要があります。
ブループリントでは変換ノードを自動で作成してくれるため楽に接続していく事ができます。テキストベースの一般的なプログラミングだとここはわざわざ変換するコードを書かなければならないため面倒くさかったりします。ちなみに変換ノードは手動で作る事もでき、例えば今回の場合だと「to string(integer)」と検索したらこの変換ノードは出てきます。では作成したノードを改めて見ていきましょう。
https://scrapbox.io/files/65b584413659c80024121e48.jpg
Integer型のデータはそのままだと文字表示できないので、一旦文字表示できるString型に変換してテキスト表示された形になります。
🌟Step2:計算処理を作ってみよう
レベルブループリントに戻って最後のPrintStringからCountをドラッグで追加 > SetCountを選択します。
SetCountノードはCountという変数にデータをセットする事ができます。
https://scrapbox.io/files/65b5857353b5b000253fc4f6.jpg
https://scrapbox.io/files/65b585d954739c0024a9a6ba.gif
変数はドラッグでイベントグラフに追加するだけではなく、ノード一覧からでも「Set 変数名」「Get 変数名」と検索すれば追加する事ができます。どちらからでも構いません。
セットノードのCountの入力ピンからドラッグして「-」と検索します。減算する(subtract)ノードを選択します。
https://scrapbox.io/files/65b586d8479b1c00231b90eb.gif
減算する(Subtract)ノードとは?
Subtractノードとは引き算を行うためのノードです。上の入力値から下の入力値を引いた数を右の出力ピンから出力します。例えば以下の画像の場合、100から90を引いた結果「10」を出力するというノードになります。
https://scrapbox.io/files/65b5870d9e255000258300f5.jpg
ダメージを受けた時や、お金を支払って持ち金が減った時などにこのSubtract(減算する)ノードを使用していきます。
次にCount変数をGetで追加して上の入力ピンに接続します。下の入力値に50と入力します。
https://scrapbox.io/files/65b5875d40da740027a30b29.jpg
https://scrapbox.io/files/65b58776e29a850024222cb5.jpg
この状態だとCount変数の中身のデータが100なら、減算ノードで100-50=50となって50が出力されます。セットノードでCountの変数には50という整数データがセットされます。
現在こんな感じのノードになっています↓
https://scrapbox.io/files/65b5891cdf3c3600259a057a.jpg
最終的にCountのデータが50になっているか確かめてみましょう!
プレイしてみましょう。最初に初期値の100が表示されて、後から100から50引いた結果となる50が表示されます。
https://scrapbox.io/files/65b588ff6988110026bf0654.jpg
🌟Step3:他の計算式(+,×,÷)を作ってみよう
他の計算式(+,×,÷)も簡単に紹介します。
①足し算を行う加算ノード
「+」と検索したら出てくる加算(plus)ノードを作成して足し算を行う事もできます。
https://scrapbox.io/files/65b589b7fbae0c002462d717.jpg
②割り算を行う除算ノード
「/」と検索したら出てくる除算する(Divide)ノードで割り算を行えます。例えば下画像でCountがデフォルト値100の場合、100/4=25で25が出力されます。
https://scrapbox.io/files/65b589e5bc69a3002473a47b.jpg
③掛け算を行うノード
「*」と検索したら出てくる、乗算する(Multiply)ノードで掛け算を行えます。例えば下画像でCountがデフォルト値100の場合、100×5=500で500が出力されます。
https://scrapbox.io/files/65b58a064cb9f00025be2d88.jpg
🌟《実践演習》
Integer型でデフォルト値が10の変数を作成し、1秒ごとに1ずつカウントが減っていくカウントダウンをテキスト表示するブループリントを作成してみましょう。
0になった瞬間に、ゲームが終了するようにしましょう。
答え