從零開始學虛幻4遊戲開發系列22
來自專欄笨貓快樂學編程4 人贊了文章
歡迎繼續我們的學習。在上一課的內容中,我們學習了如何持續生成隧道。在這一課的內容中,我們將學習如何添加更多的隧道。
添加更多隧道
首先要做的就是創建一個函數,讓其生成一定數量的隧道。
打開BP_TunnelSpawner,然後創建一個新的函數,將其命名為SpawnInitialTunnels。
為了生成特定數量的隧道,我們需要使用ForLoop節點。該節點可以讓所連接的節點運行指定的次數。為此,讓我們添加一個ForLoop節點,然後將其連接到Spawn Initial Tunnels的入口節點。
為了讓ForLoop節點執行n次,我們需要將Last Index設置為n-1。
對本教程而言,我們需要生成三個隧道。為了執行三次循環,需要將Last Index的值設置為2。
注意:
如果沒有手動設置First Index或Last Index,那麼默認值是0。
當遊戲開始的時候,玩家角色將始終在某個隧道前開始。為此,我們需要將首個隧道的位置設置為玩家角色的位置。
生成首個隧道
為了判斷首個隧道是否已經生成,我們需要檢查NewestTunnel是否已設置。如果還沒有,那麼首個隧道就還沒有生成。這是因為只有當遊戲生成了一個隧道後,才會設置NewestTunnel。
為了方便檢查,需要在ForLoope節點之後添加一個IsValid節點。
接下來,需要獲取到NewestTunnel的引用,並將其連接到IsValid節點的Input Object埠。
如果NewestTunnel還沒有被設置,那麼Is Not Valid埠之後的節點就會執行,否則就不會。
添加以下節點,並將其連接到IsValid節點的Is Not Valid埠:
通過以上的操作,就可以在玩家角色所在的位置生成一個隧道。
接下來,我們需要生成後續的隧道。
生成後續的隧道
添加一個SpawnTunnelAtSpawnPoint節點,然後將其連接到IsValid節點的Is Valid埠。
至此,我們最終的graph如下圖所示:
總結一下:
1.ForLoop節點將總共執行三次
2.在第一次循環執行時,將在玩家角色的位置生成一個隧道
3.在隨後的循環中,將在最新隧道的SpawnPoint生成隧道。
接下來在藍圖編輯器中切換到Event Graph視圖,然後刪除其中的SpawnTunnel節點。
接著在Event BeginPlay節點之後添加SpawnInitialTunnels節點。
現在,當遊戲開始的時候,它將自動生成三個隧道。
點擊藍圖編輯器上的Compile 按鈕,然後返回主編輯器,並按下Play按鈕來測試遊戲。現在隧道變得更長了~
不過到目前為止遊戲一點挑戰性都沒有,在下一課的內容中,我們將學習添加一些障礙物。
好了,這一課就到這裡了,休息一下~
推薦閱讀: