Unity

xiaoxiao2021-02-28  104

using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; namespace Assets { [System.Serializable] public class Anim { //idle动画 public AnimationClip idle; //前进动画 public AnimationClip runforward; //后退动画 public AnimationClip runBackward; //向左跑动画 public AnimationClip runLeft; //向右跑动画 public AnimationClip runRight; } } using UnityEngine; using System.Collections; using Assets; public class PlayerCtrl : MonoBehaviour { private float horizontal; private float vertical; public float speed; public float roteSpeed; public Anim anim; private Animation m_animation; // Use this for initialization void Start () { m_animation = GetComponent<Animation>(); m_animation.clip = anim.idle; m_animation.Play(); } // Update is called once per frame void Update () { horizontal = Input.GetAxis("Horizontal"); vertical = Input.GetAxis("Vertical"); Vector3 direction = Vector3.forward * vertical + Vector3.right * horizontal; //移动 transform.Translate(direction.normalized * Time.deltaTime * speed,Space.Self); //旋转 transform.Rotate(Vector3.up * Time.deltaTime * roteSpeed * Input.GetAxis("Mouse X")); if (vertical>=0.1f) { m_animation.CrossFade(anim.runforward.name,0.3f); } else if (vertical <= -0.1f) { m_animation.CrossFade(anim.runBackward.name, 0.3f); } else if (horizontal >= 0.1f) { m_animation.CrossFade(anim.runRight.name, 0.3f); } else if (horizontal <= -0.1f) { m_animation.CrossFade(anim.runLeft.name, 0.3f); } else { m_animation.CrossFade(anim.idle.name,0.3f); } } }
转载请注明原文地址: https://www.6miu.com/read-53891.html

最新回复(0)