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

贵州贵阳建网站的电话这几年做那个网站能致富

贵州贵阳建网站的电话,这几年做那个网站能致富,工业设计公司深圳本也设计,wordpress固定设备登录一.StateMachineBehaviour概述 状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味…

一.StateMachineBehaviour概述

状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味着您不必编写自己的逻辑来测试和检测状态的变化。

参考官方手册:状态机行为

二.StateMachineBehaviour脚本创建

如上图所示,选中状态节点,点击Add Behavior按钮创建脚本后,双击进入脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class attackState : StateMachineBehaviour
{// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state//override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    //}// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    //}// OnStateExit is called when a transition ends and the state machine finishes evaluating this state//override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    //}// OnStateMove is called right after Animator.OnAnimatorMove()//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    // Implement code that processes and affects root motion//}// OnStateIK is called right after Animator.OnAnimatorIK()//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)//{//    // Implement code that sets up animation IK (inverse kinematics)//}
}

脚本继承StateMachineBehaviour并有五个虚方法,比较常用的是前面3个

三.案例演示

Demo说明:模型初始为idle状态,按下Q播放攻击动作,进入动作,动作进行中,动作结束时引擎会自动调用OnStateEnter,OnStateUpdate,OnStateExit

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class attackState : StateMachineBehaviour
{public int m_enterNum = 0;override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){m_enterNum++;Debug.Log(string.Format("OnStateEnter, m_enterNum = {0}", m_enterNum));}override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){Debug.Log("OnStateUpdate");}override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){Debug.Log("OnStateExit");}}

事件方法参数说明:

  • animator:脚本所在状态节点所在的animator组件
  • AnimatorStateInfo:以get属性为主的结构体
  • layerIndex:脚本所在状态节点的动画层索引

下面代码展示MonoBehaviour访问StateMachineBehaviour

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Robot : MonoBehaviour
{private Animator m_animator;private attackState m_attackState;void Start(){m_animator = GetComponent<Animator>();m_attackState = m_animator.GetBehaviour<attackState>();}void Update(){if (Input.GetKeyDown(KeyCode.Q)){m_animator.SetTrigger("attack");Debug.Log(string.Format("进入attack状态之前 m_enterNum = {0}", m_attackState.m_enterNum));}}
}

http://www.15wanjia.com/news/159607.html

相关文章:

  • 加强信息管理 维护网站建设建网站需要钱吗
  • 多多返利网站建设程序广州微网站建设服务
  • 电商网站后台功能公司网站域名备案流程
  • 做平面设计应该在哪个网站求职常州经开区建设局网站
  • 新网站如何做推广软文开发一个电商app软件多少钱
  • p2p网站建设要点企业seo案例
  • 网站空间后台登录公司做营销型网站
  • 管理外贸网站模板做网站建设公司哪家好?
  • 青岛做网站找哪家好济南推广公司有哪些
  • 企业设计网站公司排名建设银行租房平台网站6
  • 个人电脑做外网网站网络推广培训哪个好
  • 兴义市住房城乡建设局网站外贸网站优化排名
  • 什么是新闻源网站一级域名二级域名哪个好
  • 企业官网网站建设手机端网站开发视频
  • 做设计灵感的网站建设网站需要两种服务支持
  • html5技术可以制作网站吗建设网站总经理讲话范本
  • 东莞网站优化一般多少钱百度app官网下载
  • 湖北省随州市建设厅网站旅游网页设计说明200字
  • 长沙门户网站建设seo站群系统
  • 中国交通建设工程监督管理局网站织梦建站系统教程
  • 怎么看网站建设有多久ps网站设计与制作
  • 嘉兴做微网站好看的官网源码
  • 合肥金融网站设计辽宁城乡建设工程招投标网
  • 网站开发设计文案最新网站模板
  • 建站公司如何在抖音平台开店室内设计公司名字大全
  • 企业建站模版公司网站开发费用计入
  • 做视频点播网站要多少带宽重庆网站制作1000
  • 北京网站案例seo外包上海
  • 龙胜时代大厦 做网站网站相应速度
  • 东莞政务网站建设方案产品外观设计的重要性