Verseのお作法 ~配列を知ろう~

①はじめに

定数や変数の知識があることを前提にお話しをします。まだ確認できていなければこちらをチェックしてみてください。

クリエナビ - UEFNにはじめてふれ...

数字や文字などのデータを定数や変数のような箱に格納して扱うとき、2つ以上のデータを同じ箱にいれておくことができます。例えば、ゲーム内に2名上いるプレイヤーの数をデータとして同じ箱にいれて管理することができます。

②配列

定数や変数の扱いは、買い物かごのような箱にデータをいれることにイメージが近いです。実は箱の中には、さらに小さな箱を用意することができて、その小さい箱にデータを一つずついれていき、箱全体で複数個のデータを管理することができます。このような箱を配列とよびます。

例えば、小さい箱には整数を入れるとします。整数を入れると決めたら、小数や文字を入れることはできません。一番最初の小さい箱は0番目、つぎの小さい箱は1番目、、、というように順々にデータを小さい箱にいれていくことができます。

整数をつかった配列をコード(verseスクリプトを構成する一文のこと)で書くと以下のようになります。

配列名:[]int = array{}

arrayというのが小さい箱たちのことで、{}の中に小さい箱にはいる整数データがはいります。

例えば、小さい箱の0番目から3番目を使い整数データを順番に10, 50, 3, 4と入れていきます。コードで書くと以下のようになります。#1部分が該当します。#2部分は作成した配列の中身を表示させるためのコードですが、現時点では詳細を気にしないで大丈夫です。

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

Array_Device := class(creative_device):

    #1配列をつくる。
    Num : []int = array{10,50,3,4} 

    OnBegin<override>()<suspends>:void=
        #2配列の中身を表示させる。
        for(Index :=0..Num.Length-1):
            if(Element :=Num[Index]):
                Print("{Element} at index {Index}")

verseスクリプトにコピー&ペーストをしてビルドしたら、セッションを開始します。整数をつかった配列の中身が表示されました。o番目の小さい箱には10がはいっています、1番目の小さい箱には50がはいっています、、とちゃんと表示されています。

③いろいろな配列

小数をつかった配列もつくってみます。下のスクリプトで#3と#4を加筆しています。


using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

Array_Device := class(creative_device):

    #1
    Num : []int = array{10,50,3,4} 
    
    #3
    Num2 : []float = array{2.0,5.0,50.0} 

    OnBegin<override>()<suspends>:void=
        #2
        for(Index :=0..Num.Length-1):
            if(Element :=Num[Index]):
                Print("{Element} at index {Index}")

        #4
        for(Index2 :=0..Num2.Length-1):
            if(Element2 :=Num2[Index2]):
                Print("{Element2} at index {Index2}")

スクリプトをビルドしてセッションを開始すると、小数がずらりと表示されます。小数版の配列というわけです。

配列だけ用意しておくということも可能です。#5に新しい配列を用意しています。varとつけて、配列を変数としてあつかうこともできます。つまり、スクリプトの途中で配列の中のデータを上書きできるわけです。

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

Array_Device := class(creative_device):

    #1
    Num : []int = array{10,50,3,4} 

    #3
    Num2 : []float = array{2.0,5.0,50.0} 

    #5
    var Num3 : []int = array{}

    OnBegin<override>()<suspends>:void=
        #2
        for(Index :=0..Num.Length-1):
            if(Element :=Num[Index]):
                Print("{Element} at index {Index}")

        #4
        for(Index2 :=0..Num2.Length-1):
            if(Element2 :=Num2[Index2]):
                Print("{Element2} at index {Index2}")
④まとめ

データをたくさん格納できる配列という箱をご紹介しました。

配列はなかなかイメージしずらい考え方と思います。

これからいろいろなケースを経験するうちに慣れていければと思います。

お疲れさまでした。

⑤参考動画

クリエナビのYouTubeチャンネルから配列に関する動画をご紹介します。

良ければチェックしてみてください。

ご質問やご感想はお気軽にコメント欄まで!

コメントする