Ⅰ、陣列于ForEachLoop
陣列是一種特別的值,可對多個值進行集中管理,處理保管于陣列中的所有資料時會用到回圈,如利用敵人角色的陣列使他們同時動作,
而處理陣列中的所有元素,可以使用“ForEachLoop”回圈,它是專門處理陣列的ForLoop回圈,傳遞陣列后,可按順序從陣列中取出值并進行處理,
首先準備一個陣列,點擊左側“我的藍圖”中的“變數”處的“+”號,新建一個名為“data”的變數:

接著在右側“細節”欄中修改引數資訊(將變數資料型別修改成整數,并將變數變更為陣列):

然后點擊編譯,編譯完成后繼續在細節面板中“默認值”處單擊“+”號為陣列創建初始值:

Ⅱ、ForEachLoop節點
右擊圖表,輸入“foreach”,選擇“工具”內的“陣列”專案中的“ForEachLoop”選項創建“ForEachLoop”節點:

ForEachLoop節點:

ForEachLoop節點是用于處理陣列的專用節點,其輸入輸出項也是結合陣列由ForLoop演變而來的:
ForEachLoop節點的輸入項:
- Exec:連接執行處理的順序,
- Array:連接要處理的陣列,
ForEachLoop節點的輸出項:
- Loop Body:將回圈處理的內容連接至此以創建處理,
- Array Element:在ForEachLoop中將以順序從陣列中取出值,所取出的值從此處獲得,
- Array Index:可獲得取出值的Index編號,
- Completed:陣列處理全部完成后,用于連接至后續的處理,
接下來將陣列節點拖動到圖表中(選擇獲取data),并將“Data”連接至“ForEachLoop”:

Ⅲ、創建以ForEachLoop進行的回圈處理
使用ForEachLoop,首先計算data陣列的總數,然后將所得的值除以data值的數量得到平均值,
首先,創建一個名為“num”的變數用來記錄總數,初值為0:

接著將該變數拖動到圖表中,選擇設定num,然后右鍵圖表,輸入“+”,選擇“integer+integer”選項,再將num變數拖動到圖表中,選擇獲取num:

然后進行節點的連接:
①將“Num”節點連接至“+”節點的任意一個輸入項;
②將“ForEachLoop”的“Array Element”連接至“+”節點的另一個輸入項;
③將“+”節點的輸出項連接至“設定”節點的“Num”;
④將“Begin Play”的exec輸出項連接至“ForEachLoop”的“Exec”;
⑤將“ForEachLoop”的“Loop Body”連接至“設定”的exec輸入項;
⑥將“ForEachLoop”的“Completed”連接至“Print String”的exec輸入項,

Ⅳ、準備Print String的內容
最后需要將平均值的結果使用Print String節點進行輸出,總數已經從變數num中獲得,接下來是求平均值并通過Print String顯示,
首先,復制一個獲得num的節點,然后右擊圖表,輸入“/”,選擇“integer/integer”選項,再次右擊圖表,輸入“length”并選擇“工具”內的“陣列”中的“Length”選項:

然后對節點進行連接:
①將“Data”連接至“LENGTH”;
②將“Num”連接至“÷”上方的輸入項;
③將“LENGTH”連接至“÷”下方的輸入項;
④將“÷”連接至“Print String”的“In String”,

最后編譯運行,即可得到陣列中五個整數的平均值輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/31154.html
標籤:其他
