Unreal Engine 4 藍圖徹底學習教程(八)—— 循環(2)ForEachLoop

Ⅰ、數組於ForEachLoop數組

數組是一種特別的值,可對多個值進行集中管理。處理保管於數組中的全部數據時會用到循環,如利用敵人角色的數組使他們同時動做。工具

而處理數組中的全部元素,可使用「ForEachLoop」循環,它是專門處理數組的ForLoop循環。傳遞數組後,可按順序從數組中取出值並進行處理。oop

首先準備一個數組,點擊左側「個人藍圖」中的「變量」處的「+」號,新建一個名爲「data」的變量:spa

 

 

 接着在右側「細節」欄中修改參數信息(將變量數據類型修改爲整數,並將變量變動爲數組):3d

 

 

 而後點擊編譯,編譯完成後繼續在細節面板中「默認值」處單擊「+」號爲數組建立初始值:
blog

 

 

Ⅱ、ForEachLoop節點 編譯

右擊圖表,輸入「foreach」,選擇「工具」內的「數組」項目中的「ForEachLoop」選項建立「ForEachLoop」節點:變量

 

 

 ForEachLoop節點:bfc

 

 

ForEachLoop節點是用於處理數組的專用節點,其輸入輸出項也是結合數組由ForLoop演變而來的:foreach

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」。

 

 

最後編譯運行,便可獲得數組中五個整數的平均值輸出:

相關文章
相關標籤/搜索