триггер анимации не запускается из-за сценария - PullRequest
0 голосов
/ 10 июля 2019

Я делаю 3D-файтинг, у меня есть холостой ход и триггер ходьбы, но когда я играю в него, после перемещения мой персонаж остается в том же действии («холостом ходу»).Я делаю переход, не работает, я ставлю параметры, это тоже не работает.Вот сценарий.Я делаю несколько скриншотов для моего реального экрана аниматора, пусть действие без перехода.А что я могу сделать?

picture animator

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

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()
    {
        anim = GetComponent<Animator>();
        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);
                anim.Play("walk");

            }
            if (Input.GetTouch(i).position.x < ScreenWidth / 2)
            {
                RunCharacter(-1.0f);
            }
        }
    }

    void FixedUpdate()
    {
#if UNITY_EDITOR
        RunCharacter(Input.GetAxis("Horizontal"));
#endif 
    }

    private void RunCharacter(float horizontalInput)
    {
        characterBody.AddForce(new Vector2(horizontalInput * moveSpeed * Time.deltaTime, 0));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...