我們在游戲開發中經常面臨架構設計問題,在蠻牛問答里面也有好多朋友問關于架構方面的問題,在這里我就將一些經常使用的游戲開發方面的知識跟大家介紹 一下, 一是給大家提供一個設計思路,在此基礎上可以舉一反三,二是大家可以通過這個平臺共同學習。閑話不多說了,切入正題,FSM有限狀態機,在游戲開發中如何使用?那些模塊的設計需要它?接下來我們就分析一下游戲:
比如我們的玩家自身的狀態切換,Idle,walk,attack等等,這些都屬于狀態的切換,可以用有限狀態機;還有比如玩家去完任務:領取任務,殺怪,交易,交接任務;還有界面邏輯比如登錄,進入場景,退出等等,在游戲中狀態切換還是很多的,以上我說的都可以使用有限狀態機。既然這么多地方可以使用,那么我們如何去設計有限狀態機?
下面我們先設計我們的FSM有限狀態機類圖,如下所示:
在這里我的優先狀態機,共五個類文件組成。下面就給大家一一說明:
第一個是IState類,這個類是抽象的,主要是實現有限狀態機的接口,書寫如下:
using UnityEngine; using System.Collections; public interface IState { void OnEnter(string prevState); void OnExit(string nextState); void OnUpdate(); }
這個抽象類一共只有三個接口,一個是進入狀態,停止狀態,更新狀態。
第二個類我會在系列二中給大家介紹。
時間有點晚了,就先到這里吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。