场景部分,需要把角色和动画组件、动画控制器、动画片段准备好
然后设置好转换动画的参数RUN (bool类型的)
创建一个普通按钮在UGUI里面,为按钮添加组件EventTrgger
在这个组件里面添加PointerDown 和PointerUp 这两个分别代表按下和弹起!
他们是回调函数!接下来就写两个回调函数控制动画切换跑步和站立状态即可!
被回调的函数代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimaConManager : MonoBehaviour
{
// 这个脚本负责拿到小女孩的动画控制器,跟随UI点击事件控制参数变化
public Animator OneAnitor;
public float speed=10f;
bool TurnOn = false;
public void DownTranRun()
{
Debug.Log("用户长按了按钮 可以切换到跑的状态了");
OneAnitor.SetBool("StandARun", true);
TurnOn = true;
}
public void UpTranIdle()
{
Debug.Log("用户离开了按钮,可以播放站立动画");
OneAnitor.SetBool("StandARun", false);
TurnOn = false;
}
private void Update()
{
if (TurnOn)
{
OneAnitor.gameObject.transform.Translate(new Vector3(0, 0, 1)* speed* Time.deltaTime, Space.Self);
}
}
}
挂在空物体上!添加给回调!