我们将要学习的内容是Switch状态机,前一节我们通过if写了一个简单的功能,就是开关灯的功能,但是开关灯的功能,并不能称之为完整的状态机,虽然说它包含了状态机中所必须的元素或者概念。比如里面也呈现了一些状态的过程……但是它并不是一个完整的状态机
最最简单的一个的状态机,一般我们都会使用Switch语句去实现,因为我们使用Switch的时候,会和枚举一起使用,用枚举来表示我们的状态机中不同的状态。然后用Switch来判断,当前处于什么状态再来解决应该选择哪些逻辑代码进行执行。Switch本身就是一个分支语句。
using UnityEngine;
using System.Collections;
public class LightController : MonoBehaviour {
private Light _light;
void Awake(){
_light = GetComponent<Light> ();
}
void Update(){
//当前的脚步就是状态机
//用户按键时间就是状态切换的条件——事件
if(Input.GetKeyDown(KeyCode.O)){
//灯的光强从0变为1时,就是状态的过渡