unity Animator 怎么判断一个动画播放结束

unity Animator 怎么判断一个动画播放结束,第1张

第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函吵配禅数升尘接口不是可卖扰以了?

第二种方法:试试animator上面那个 exit time

第三种方法:

//获取动画层 0 指Base Layer.

AnimatorStateInfo stateinfo = animator.GetCurrentAnimatorStateInfo(0)

//如果正在播放walk动画.

if(stateinfo.IsName("Base Layer.walk"))

{

}

网页链接

先照着上面的是雨松大大的添加监听的方法饥局汪 我的比较偷懒  代码如下: 把这个脚本挂载在按钮上……然后把对应 的需要移动的东西挂在gameObgect上 speed设置速度 命名是随便命的 自己改下  该方法 调烂仔用的是点击事件的接口 理腊或论上说应该都能用

using UnityEngine

using UnityEngine.EventSystems

public class OnAnXiaBuSongShou : MonoBehaviour , IPointerUpHandler,IPointerDownHandler

{

public GameObject run_GameObject

public float speed=10f

private bool isRun

public void Move()

{

run_GameObject.transform.position += run_GameObject.transform.forward  * speed*Time.deltaTime

}

// Update is called once per frame

void Update () {

if(isRun)

{

Move()

}

}

public void OnPointerUp(PointerEventData eventData)

{

isRun = false

}

public void OnPointerDown(PointerEventData eventData)

{

isRun = true

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12309323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存