Unity高级——状态机——有限状态机二

原创 2016年08月29日 15:46:06

Unity高级——状态机——有限状态机二


Unity高级——状态机——有限状态机中,我们对状态机的整个过程有了概念性的了解,接下来,就让我们来用一个实例,来实现灯泡开关控制这个效果!


为了能实现更明显的效果,我们删除默认的光源——添加一个Point Linght点光源,然后条件点光源的位置和大小。

如果要实现开关的效果,我们对intensity进行控制!

 

准备工作做好之后,接下来我们添加一个脚本,用来控制灯光——灯光控制器!

当按下键盘的O键 灯打开,当按下键盘的C键灯关闭。

首先我们新建一个C#脚本——命名为LightController

 

双击新创建的LightController——进入代码界面

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时,就是状态的过渡
            //打开灯
            //灯开着的状态
            _light.intensity=1f;
    
        }

        if(Input.GetKeyDown(KeyCode.C)){

            //灯的光强从1变为0时,就是状态的过渡
            //关闭灯
            //灯处于关着的状态
            _light.intensity=0f;
        
        }
    }
}


 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

[Unity3D教程]Unity中如何编写对象重用池机制

[Unity3D教程]Unity中如何编写对象重用池机制

Unity3D自学笔记——有限状态机(二)角色行走控制

有限状态机(二)角色行走控制创建Statepublic enum FSMStateType { None, Default, Idle, Move, }Idlepubl...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Unity中状态机的使用

Unity中状态机的使用在游戏中,人物的状态是不断变化的,所以写个FSM来管理状态是必要的。 一个有限状态机是一个设备,或者是一个设备模型,具有有限数量的状态,它可以在任何给定的时间根据输入进行操...

【游戏设计模式】之三 状态模式、有限状态机 & Unity版本实现

游戏开发过程中,各种游戏状态的切换无处不在。但很多时候,简单粗暴的if else加标志位的方式并不能很地道地解决问题,这时,就可以运用到状态模式以及状态机来高效地完成任务。状态模式与状态机,因为他们关...

Unity高级——状态机——有限状态机

Unity高级——状态机——有限状态机

[Unity3D教程]Unity粒子系统Shuriken(飞镖)

[Unity3D教程]Unity粒子系统Shuriken(飞镖)

【游戏设计模式】之三 状态模式、有限状态机 & Unity版本实现

本系列文章由@浅墨_毛星云 出品,转载请注明出处。   文章链接: http://blog.csdn.net/poem_qianmo/article/details/52824776 作者:毛星云...

unity 一个简单的有限状态机

快几个月没写博客了,今天不知道是那根神经接错了。今天来跟大家讲一下一个比较简单实用的有限状态机。有限状态机看起来名字高大上似得,其实就是一堆if else,如果没有有限状态机的话我们就直接这样写了, ...

Unity中添加组件的几种方法

一、在编辑器上面添加一个组件。 二、在脚本中利用AddComponent函数添加一个组件,例如:
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)