UE4藍圖:初體驗(2) 數組的使用.

首先我們打開關卡藍圖界面.

這裏寫圖片描述

然後點擊Variables旁邊的’+’號,添加一個變量取名Data.然後修改類型爲int類型,那麼怎麼把變量變成容器呢?注意在第二個圈起來的地方,可以選擇這個容器的類型,從上到下的四個類型分別是:1.單獨的變量.2.數組.3.Set.4.Map.然後編譯一下.

這裏寫圖片描述

然後在初始值的地方可以設置若干個初始值.我這裏設置了三個,當你需要刪除其中的初始值的時,你可以點擊右邊的按鈕跳出菜單進行刪除.這樣,數組就定義完了.

這裏寫圖片描述

我們先添加和上次一樣的兩個節點.
這裏寫圖片描述

接下來,主要演示了在UE4藍圖中數組容器的增刪改查四個基本的操作.在此之前,我們先像使用變量一樣,把Data數組點擊左鍵拖拽到事件圖中,發現也有Set和Get兩個菜單項.分別是獲取數組和設置數組.

1.獲得元素的值
右鍵點擊事件圖,輸入get array,選擇Array下的Get節點.Get節點中左上角的按鈕連接取得值的數組.左下角的值表示用戶想要取得數組元素值的下標.

這裏寫圖片描述

我們讀取下標爲2的元素,也就是最後一個元素.

這裏寫圖片描述

然後進行輸出,就會得到3.
注意:如果你想要取消節點之間的連線,你可以右鍵點擊連接的按鈕,進行取消連線.

這裏寫圖片描述

2.增加元素.
在事件圖中右鍵輸入array add.得到Array下的Add節點.然後把Data數組拖拽到事件圖中獲得數組.然後把獲得的數組和Add節點連接起來,代表Add節點增加的是Data數組的元素.然後用細線把關卡開始事件和Add節點連接起來.

這裏寫圖片描述

我們可以在Add節點的左下角輸入新元素的值,當然新元素是增加在Data數組的末尾的.左下角的一個連接按鈕,可以讓別的節點返回的值連接起來,作爲新元素的值來使用.節點右下角的按鈕可以返回新元素的下標.

然後我們用到Get節點獲取數組的指定下標元素的值.我們獲取下標爲3的元素,也就是最後一個元素的值.然後連接起來.

這裏寫圖片描述

編譯後運行,得到結果10.

這裏寫圖片描述

增加元素除了尾增加,還用中間的插入.右鍵事件圖,輸入insert array,選擇Array下的Insert節點.
其中Insert節點的左邊中間的是用戶要插入的新元素的值.而左下角的是新元素插入的下標.

這裏寫圖片描述

3.刪除元素.
右鍵事件圖,輸入remove array,選擇Array下的Remove 節點,發現有兩個,Remove Index和Remove Item.Remove Index節點是刪除數組指定下標.而Remove Item節點是刪除數組中所有值爲用戶指定的元素.這裏我們使用Remove Index節點.然後連接起來.編譯後運行.

這裏寫圖片描述

4.運行中創建數組.
除了使用一早就創建好的數組外,我們也可以在運行中去創建一個數組.右鍵輸入 make array,選擇Make Array節點.
在1處,使用Make Literal Int 創建一個臨時的整數,然後作爲新創建的數組的初始值.而這個Set節點,是使用之前在變量欄手動定義的Data數組拖拽下來的,然後使用Set菜單的而出來的節點,用新數組給Data數組進行賦值.

這裏寫圖片描述

5.遍歷數組.
我們這裏使用一個按鍵節點,當我們按下P時,打印數組所有的元素.

這裏寫圖片描述

LoopBody 指的是循環體的內容.ArrayElement指的是數組當前下標的元素值,而Array Index則是返回當前數組的下標值.

這裏寫圖片描述

6.Shuffle
Shuffle節點用於打亂數組的元素順序.我們在上一個事件圖的基礎上添加幾個節點:
Shuffle節點只是單純的一個功能節點.打亂數組內的元素順序.

這裏寫圖片描述

編譯後運行可以明顯看到打亂後的順序和以前的順序不同了.

這裏寫圖片描述

7.Contains Item Find Item
Contains Item節點用來判斷數組中是否包含某個元素,而Find Item節點用來查詢數組中的某個元素,返回找到的元素的下標,如果數組中同時存在兩個相同的元素,則返回最先找到的元素的下標.

8.Length Clear
Length 節點用來返回數組的元素個數,Clear節點用來清空數組內的所有元素.

9.Resize
Resize節點用來控制數組的長度,也就是元素個數的變化.舉個例子,原來有5個元素,你通過Resize壓縮到4個元素的話,那麼數組內只剩下前4個元素.如果拉伸到6個元素的話,則數組增加一個元素爲0.

發佈了114 篇原創文章 · 獲贊 127 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章