FSM有限状态机(一)
来源:互联网 发布:如何彻底删除精选淘宝 编辑:程序博客网 时间:2024/05/16 05:15
FSM有限状态机(一)<12/10/10217>
为什么要学习FSM有限状态机:
1.状态机能够分离逻辑代码;
2.提高代码的重用性和可维护性.
什么是FSM有限状态机:
1有限状态机(FSM)简称状态机;
为什么要学习FSM有限状态机:
1.状态机能够分离逻辑代码;
2.提高代码的重用性和可维护性.
什么是FSM有限状态机:
1有限状态机(FSM)简称状态机;
2.FSM的状态个数是有限的.
Switch状态机一般适用于状态比较少的状态机:(Switch放在Update中每帧检测对象状态)
1.使用枚举Enum来定义FSM中的状态;
2.Switch用来判断当前状态来决定逻辑代码的执行.
Switch状态机简单演示:
<1>一个脚本挂Cube身上:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class FSMlearning : MonoBehaviour{ public enum LightState { OpenLight, CloseLight } public Light _light; public LightState currentState = new LightState(); void Start() { currentState = LightState.CloseLight; } void Update() { switch (currentState) { case LightState.CloseLight: print("CloseReady2Open"); OnOpenState(); break; case LightState.OpenLight: print("OpenReady2Close"); OnCloseState(); break; default: break; } } private void OnOpenState() { if (Input.GetMouseButtonDown(0))//因为每帧都会执行switch检测,所以打开或关闭必有一个方法会被每帧都被执行 { _light.intensity = 1; currentState = LightState.OpenLight; } } private void OnCloseState() { if (Input.GetMouseButtonDown(1))//因为每帧都会执行switch检测,所以打开或关闭必有一个方法会被每帧都被执行 { _light.intensity = 0; currentState = LightState.CloseLight; } }}<2>然后实际效果:
阅读全文
0 0
- FSM有限状态机(一)
- FSM 有限状态机
- 有限状态机(FSM)
- 有限状态机/FSM
- FSM有限状态机
- 有限状态机(FSM)的设计与实现(一)
- 有限状态机(FSM)的设计与实现(一)
- 有限状态机(FSM)的设计与实现(一)
- cocos2d-x 游戏开发之有限状态机(FSM) (一)
- Unity3D架构系列之-FSM有限状态机设计(一)
- Unity3D架构系列之- FSM有限状态机设计一
- U3d架构系列之:FSM有限状态机设计一
- Unity3D架构系列之- FSM有限状态机设计一
- 有限状态机(FSM)初探
- 简单有限状态机(FSM)
- 有限状态机FSM的理解
- Go语言 有限状态机FSM
- boost 有限状态机(FSM)
- listview分割线
- Socket网络编程--epoll小结
- Rxjava详解
- 链表问题---反转单向和双向链表
- 图像识别与处理——图像的表示与通道数问题
- FSM有限状态机(一)
- [Java]abstract学习要点及interface
- while循环中,break,continue,return
- C# 使用Newtonsoft.Json解析嵌套json
- Java多线程-线程常用方法
- tf material
- JSP中实现动态显示系统时间
- 数据结构:优先队列
- wordpress如何开启文章格式post format