U3d架构系列之-FSM有限状态机设计一-创新互联

    我们在游戏开发中经常面临架构设计问题,在蛮牛问答里面也有好多朋友问关于架构方面的问题,在这里我就将一些经常使用的游戏开发方面的知识跟大家介绍 一下, 一是给大家提供一个设计思路,在此基础上可以举一反三,二是大家可以通过这个平台共同学习。闲话不多说了,切入正题,FSM有限状态机,在游戏开发中如何使用?那些模块的设计需要它?接下来我们就分析一下游戏:

专注于为中小企业提供成都网站设计、做网站、成都外贸网站建设公司服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业金门免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

      比如我们的玩家自身的状态切换,Idle,walk,attack等等,这些都属于状态的切换,可以用有限状态机;还有比如玩家去完任务:领取任务,杀怪,交易,交接任务;还有界面逻辑比如登录,进入场景,退出等等,在游戏中状态切换还是很多的,以上我说的都可以使用有限状态机。既然这么多地方可以使用,那么我们如何去设计有限状态机?

      下面我们先设计我们的FSM有限状态机类图,如下所示:

     U3d架构系列之-FSM有限状态机设计一

  在这里我的优先状态机,共五个类文件组成。下面就给大家一一说明:

  第一个是IState类,这个类是抽象的,主要是实现有限状态机的接口,书写如下:

using UnityEngine;
using System.Collections;

public interface IState {
	void OnEnter(string prevState);
	void OnExit(string nextState);
	void OnUpdate();
}

  这个抽象类一共只有三个接口,一个是进入状态,停止状态,更新状态。

  第二个类我会在系列二中给大家介绍。

  时间有点晚了,就先到这里吧。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:U3d架构系列之-FSM有限状态机设计一-创新互联
转载注明:http://pwwzsj.com/article/diphec.html