一、目錄
二、什麼是有限狀態機
有限表示這個是有限度的不是無限的,狀態,指的是所擁有的所有狀態,這麼來理解,人有情緒,比如說生氣,無感,喜悅,難過,生氣,幸福等,那麼這些情緒是固有的幾種,是所謂有限,那麼那些情緒就是不同的狀態,人可以在這些狀態之中進行轉換,此時是開心的,下一秒有可能就是生氣的,這就是有限狀態機的原理。
一個有限狀態機是一個設備,或者是一個設備模型,具有有限數量的狀態,它可以在任何給定的時間根據輸入進行操作,使得一個狀態變換到另一個狀態,或者是使一個輸入或者一種行爲的發生。一個有限狀態機在任何瞬間只能處在一種狀態。
它的優點:
1.編程快速簡單,2.易於調試,3.很少的計算開銷,4.直覺性,5.靈活性。
三、作用分析
有限狀態機其實是狀態設計模式,爲了解決遊戲過於麻煩的狀態轉換(人物動畫過多),使用有限狀態機。
那麼如何實現狀態轉換呢:
- 1.使用多態和Switch
- 2.new(狀態設計模式)
比如說要實現一個遊戲中的一個NPC的AI, 他只做三件事,吃飯,睡覺,打豆豆,最直接,最簡答想到的代碼應該是這樣。
void Update()
{