您好,登錄后才能下訂單哦!
我們?cè)谟螒蜷_(kāi)發(fā)中經(jīng)常面臨架構(gòu)設(shè)計(jì)問(wèn)題,在蠻牛問(wèn)答里面也有好多朋友問(wèn)關(guān)于架構(gòu)方面的問(wèn)題,在這里我就將一些經(jīng)常使用的游戲開(kāi)發(fā)方面的知識(shí)跟大家介紹 一下, 一是給大家提供一個(gè)設(shè)計(jì)思路,在此基礎(chǔ)上可以舉一反三,二是大家可以通過(guò)這個(gè)平臺(tái)共同學(xué)習(xí)。閑話(huà)不多說(shuō)了,切入正題,F(xiàn)SM有限狀態(tài)機(jī),在游戲開(kāi)發(fā)中如何使用?那些模塊的設(shè)計(jì)需要它?接下來(lái)我們就分析一下游戲:
比如我們的玩家自身的狀態(tài)切換,Idle,walk,attack等等,這些都屬于狀態(tài)的切換,可以用有限狀態(tài)機(jī);還有比如玩家去完任務(wù):領(lǐng)取任務(wù),殺怪,交易,交接任務(wù);還有界面邏輯比如登錄,進(jìn)入場(chǎng)景,退出等等,在游戲中狀態(tài)切換還是很多的,以上我說(shuō)的都可以使用有限狀態(tài)機(jī)。既然這么多地方可以使用,那么我們?nèi)绾稳ピO(shè)計(jì)有限狀態(tài)機(jī)?
下面我們先設(shè)計(jì)我們的FSM有限狀態(tài)機(jī)類(lèi)圖,如下所示:
在這里我的優(yōu)先狀態(tài)機(jī),共五個(gè)類(lèi)文件組成。下面就給大家一一說(shuō)明:
第一個(gè)是IState類(lèi),這個(gè)類(lèi)是抽象的,主要是實(shí)現(xiàn)有限狀態(tài)機(jī)的接口,書(shū)寫(xiě)如下:
using UnityEngine; using System.Collections; public interface IState { void OnEnter(string prevState); void OnExit(string nextState); void OnUpdate(); }
這個(gè)抽象類(lèi)一共只有三個(gè)接口,一個(gè)是進(jìn)入狀態(tài),停止?fàn)顟B(tài),更新?tīng)顟B(tài)。
第二個(gè)類(lèi)我會(huì)在系列二中給大家介紹。
時(shí)間有點(diǎn)晚了,就先到這里吧。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。