コード例 #1
0
    private void Update()
    {
        time += Time.deltaTime;
        if (time > actionTime)
        {
            time = 0;
            float rnd = Random.value;
            if (rnd < 0.25f)
            {
                player.CrossFade("TurnOnSpotLeftA", 0.2f);
            }
            else if (rnd < 0.5f)
            {
                player.CrossFade("TurnOnSpotRightA", 0.2f);
            }
            else if (rnd < 0.75f)
            {
                player.CrossFade("TurnOnSpotRightC", 0.2f);
            }
            else
            {
                player.CrossFade("TurnOnSpotLeftC", 0.2f);
            }
        }

        if (player.IsTimeAtTheEndOfLoop)
        {
            player.CrossFade("Idle", 0.8f);
        }
    }
コード例 #2
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
        {
            isForward = true;
        }
        if (Input.GetKeyUp(KeyCode.W))
        {
            isForward = false;
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            isBackward = true;
        }
        if (Input.GetKeyUp(KeyCode.S))
        {
            isBackward = false;
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            isTurningLeft = true;
        }
        if (Input.GetKeyUp(KeyCode.A))
        {
            isTurningLeft = false;
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            isTurningRight = true;
        }
        if (Input.GetKeyUp(KeyCode.D))
        {
            isTurningRight = false;
        }

        if (isForward)
        {
            forwardSpeed += 0.5f * Time.deltaTime;
        }
        if (!isForward)
        {
            if (isBackward)
            {
                forwardSpeed -= 0.2f * Time.deltaTime;
            }
            else
            {
                forwardSpeed -= 1.25f * Time.deltaTime;
            }
        }
        if (isTurningLeft || isTurningRight)
        {
            forwardSpeed -= 0.8f * Time.deltaTime;
        }
        forwardSpeed = Mathf.Clamp01(forwardSpeed);

        if (forwardSpeed == 0)
        {
            if (isTurningLeft)
            {
                player.CrossFade("TurnOnSpotLeftB", 0.2f);
            }
            else if (isTurningRight)
            {
                player.CrossFade("TurnOnSpotRightB", 0.2f);
            }
            else if (isBackward)
            {
                player.CrossFade("TurnOnSpotRightD", 0.2f);
            }
            else
            {
                player.CrossFade("Idle", 0.2f);
            }
        }
        if (forwardSpeed > 0 && forwardSpeed <= 0.4f)
        {
            if (isTurningLeft)
            {
                player.CrossFade("PlantNTurneft90", 0.2f);
            }
            else if (isTurningRight)
            {
                player.CrossFade("PlantNTurnRigtht90", 0.2f);
            }
            else if (isBackward)
            {
                player.CrossFade("PlantNTurnRight180", 0.2f);
            }
            else
            {
                player.CrossFade("Walk", 0.2f);
            }
        }
        if (forwardSpeed > 0.4f)
        {
            if (isTurningLeft)
            {
                player.CrossFade("PlantNTurneft90", 0.2f);
            }
            else if (isTurningRight)
            {
                player.CrossFade("PlantNTurnRigtht90", 0.2f);
            }
            else if (isBackward)
            {
                player.CrossFade("PlantNTurnRight180", 0.2f);
            }
            else
            {
                player.CrossFade("Run", 0.2f);
            }
        }
    }