update: 2016/06/26
reference:
1. Unreal Engine 4 Documentation | Unreal Engine
A. 新增專案
1. New Project > Blueprint > First Person:
> Desktop / Console > Maximum Quality > No Starter Content
> Folder ... > Name ... > Create Project
> 名稱改為: Enemy
> 勾選: Simulation Generates Hit Events
> Collision Presets: 選取 BlockAll
> 選取 Enemy
> "Blueprint / Add Script"
> "Create Blueprint"
> 新增 Event Hit Node
> 從 Event Hit Node 的 Hit Pin, 連結 Break Hit Result Node
> 新增 Apply Damage Node
> 將 Event Hit Node 的 Exe Pin, 連結 Apply Damage Node 的 Exe Pin
> 將 Event Hit Node 的 Other Pin,
連結 Apply Damage Node 的 Damaged Actor Pin
B. Character Blueprint:
1. 開啟 FirstPerson Character Blueprint:
> Health 變數的型態為 float, 預設值為 100.0
> 藉由 float 減 float node 取的剩餘的生命點數(Get Health 減去 Damage pin 的值)
> 再將 剩餘的生命點數 (float 減 float node 的輸出 pin) 設(Set)給 Health
> 最後將結果印出來.
當玩家碰撞到 Enemy 時, 生命值持續快速遞減
C. 讓玩家半秒內只會受傷一次
1. 修改 FirstPerson Character Blueprint:
> 新增 DoOnce Node 與 Delay Node
> DoOnce Node 預設只會作一次(執行 Set Health)
> 在列印出剩餘生命值後, 會先 Delay 5 秒, 然後 Reset DoOnce Node
> DoOnce Node 於 Reset 後, 又可以執行一次了.(依此循環)
D. 當玩家生命值小於或等於零時, 就消失
1. 新增 Node: float <= float , Branch, DestroyActor
> 取得 Set Health 的生命值, 來作 Branch 處理
> 如果生命值小於或等於 0, 就執行 DestroyActor
> 如果生命值大於 0, 就印出數值 (並且 Delay -> Reset DoOnce ...)
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。