当前位置: 首页 > news >正文

最好看免费观看优化大师官方

最好看免费观看,优化大师官方,俄罗斯乌克兰最新局势,wordpress生成海报图片插件一、介绍 有限状态机是一个用来进行对象状态管理的计算模型。它由一组状态、一个或者多个触发事件以及状态之间的转换条件所组成。 对于任意一个游戏对象,我们可以为其编写一个或者多个状态机,使其能够在不同状态下有不同的决策和运作机制。 核心思想…

一、介绍

有限状态机是一个用来进行对象状态管理的计算模型。它由一组状态、一个或者多个触发事件以及状态之间的转换条件所组成。

对于任意一个游戏对象,我们可以为其编写一个或者多个状态机,使其能够在不同状态下有不同的决策和运作机制。

核心思想主要是:

  1. 拥有多种状态
  2. 仅处于多种状态的其中之一
  3. 状态之间能够互相切换

 

二、有限状态机的基本制作步骤

  1. 创建一个类作为状态的基类(一般是抽象类)
  2. 在状态基类中编写方法(建议是抽象方法,比如OnEnter、OnMove、OnExit等,你也可以根据开发需求来自行定义 )
  3. 创建状态的子类(也就是要继承状态的基类),这时候你就需要实现对应的抽象方法。在这里,你可以创建多个子类(比如敌人高于50%的血量的时候的状态,敌人低于50%的血量的时候的状态......)
  4. 创建状态子类的实例(一个或者多个),并定义一个状态基类对象(不需要实例化)
  5. 根据状态的不同,状态基类对象引用不同的状态子类的实例(可以通过一个枚举enum来给状态类型做一个分类,然后通过一个字典Dictionary将枚举成员和状态子类实例一对一地存储起来,当需要的时候,就可以直接通过字典将其赋予给状态基类对象
  6. 通过状态基类对象来调用自身的方法,从而实现有限状态机。

三、代码示例

下面这段代码演示了一个基本的有限状态机写法。

using System;
namespace ConsoleApp1
{internal class Program{static void Main(string[] args){//定义基类对象MyAction myAction;//定义并实例化子类对象AngryAction angryAction = new AngryAction();NormalAction normalAction = new NormalAction();//引用 angryAction 对象myAction = normalAction;myAction.Speak();myAction.Run();//引用 normalAction 对象myAction = angryAction;myAction.Speak();myAction.Run();Console.ReadKey();}}//行为基类public abstract class MyAction{public abstract void Speak();public abstract void Run();}//子类:生气时候的行为public class AngryAction : MyAction{public override void Run(){Console.WriteLine("很生气地跑");}public override void Speak(){Console.WriteLine("很生气地说话");}}//子类:平常时候的行为public class NormalAction : MyAction{public override void Run(){Console.WriteLine("很平常地跑");}public override void Speak(){Console.WriteLine("很平常地说话");}}}

四、个人的一些理解

我个人理解的有限状态机的思想,就是“调用的是同一个方法,最终执行效果却有所不同”。在上述的代码当中,我只是给基类对象切换了对子类对象的引用,但是调用“相同”的方法,结果不一样。这就方便我们在游戏开发当中对某个游戏对象的状态管理和控制。

http://www.yidumall.com/news/6395.html

相关文章:

  • 17网做网站最近的时事新闻
  • 如何做直接打开网站的二维码网游推广员
  • 小说阅读网站开发扬州百度关键词优化
  • 公众号登录网址本溪seo优化
  • 中国室内装修设计网株洲企业seo优化
  • 网站建设进度规划电销外包团队在哪找
  • 建设一个官方网站的费用站长工具seo综合查询下载
  • 我请网络公司做的网站上的图片被当广告拦截了_怎么回事现在做网络推广好做吗
  • 常州网站建设企业网站香港域名注册网站
  • wordpress 附件路径福州seo视频
  • 杭州蚂蚁 做网站的公司网站开发制作培训学校
  • 网站会员充值接口怎么做的网站关键词排名优化
  • 做网站为什么需要营业执照网络软文营销案例
  • 创新模式_提高质量_建设一流的数学人才培养基地 教学成果奖申报网站网络营销项目策划书
  • 网络运营商包括哪些东莞快速优化排名
  • 网站设计联盟好用的seo软件
  • 珠海网站建设王道下拉惠网站优化推广
  • 改网站标题快照倒退怎么解决今日疫情最新情况
  • 旅游电子商务网站建设中最重要的环节和内容是什么北京网站优化服务
  • 移动端社区 wordpressseo快速排名站外流量推广
  • 新网$网站优化shopify seo
  • 西安做网站xamokj新闻实时报道
  • 中文html5网站欣赏浙江seo公司
  • 寻花问柳专注做男人喜爱的网站搜索广告和信息流广告区别
  • 做美食网站视频小红书推广方式有哪些
  • ai怎么做网站用海报北京搜索关键词优化
  • 外网怎样访问自己做的网站刷seo关键词排名软件
  • wordpress搭建公司网站seo1新地址在哪里
  • 小程序ui设计seo怎么刷排名
  • 找一家秦皇岛市做网站的公司产品营销策划