具有过渡的动画不会在统一场景中开始

时间:2019-07-10 11:47:48

标签: unity3d

我做了一个格斗游戏,但我不知道该在脚本中整合动画。我有4个动作:闲置,步行,踢一脚,踢两脚。我的脚本是用于电话控制器的,应该在哪里放置动画? https://imgur.com/a/dcIevbn,这是它们的一些设置https://imgur.com/a/v5gJGCa

 public class Move : MonoBehaviour
 {
     private Animator anim;
 
     public float moveSpeed = 300;
     public GameObject character;
     private Rigidbody characterBody;
     private float ScreenWidth;
     private Rigidbody rb2d;
 
     public bool isDead = false;
     public Vector2 jumpHeight;
     public int jumpCount = 0;
     internal static object instance;
 
 
     // Use this for initialization
     void Start()
     {
         ScreenWidth = Screen.width;
         characterBody = character.GetComponent<Rigidbody>();
         rb2d = this.GetComponent<Rigidbody>();
         rb2d.freezeRotation = true;
         anim = GetComponent<Animator>();
     }
 
     // Update is called once per frame
     void Update()
     {
 
         if (isDead) { return; }
         if (jumpCount < 3 && (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)))  //makes player jump
         {
             GetComponent<Rigidbody>().AddForce(jumpHeight, ForceMode.Impulse);
             jumpCount++;
         }
         jumpCount = 0;
         int i = 0;
         while (i < Input.touchCount)
         {
             if (Input.GetTouch(i).position.x > ScreenWidth / 2)
             {
                 RunCharacter(1.0f);
 
             }
             if (Input.GetTouch(i).position.x < ScreenWidth / 2)
             {
                 RunCharacter(-1.0f);
             }
             ++i;
         }
     }
 
 
     void FixedUpdate()
     {
 #if UNITY_EDITOR
         RunCharacter(Input.GetAxis("Horizontal"));
 #endif 
 
     }
 
     private void RunCharacter(float horizontalInput)
     {
         characterBody.AddForce(new Vector2(horizontalInput * moveSpeed * Time.deltaTime, 0));
 
     }
  
 
 
 }

0 个答案:

没有答案