コード例 #1
0
    public void OnJump(InputAction.CallbackContext context)
    {
        if (characterState == SimpleCharacterState.Attack)
        {
            return;
        }

        bool jumpButtonDown = context.ReadValueAsButton();

        if (jumpButtonDown)
        {
            characterState = SimpleCharacterState.Jump;
        }
        if (jumpButtonDown && GetComponent <Rigidbody2D>().velocity == Vector2.zero)
        {
            GetComponent <Rigidbody2D>().AddForce(new Vector2(0, jumpPower));
        }
    }
コード例 #2
0
    IEnumerator Attack()
    {
        //inputVector = Vector2.zero;
        characterState = SimpleCharacterState.Attack;

        GetComponent <Animator>().PlayInFixedTime("attack_1", 0, 0);



        yield return(new WaitForSeconds(0.25f));

        if (inputVector == Vector2.zero)
        {
            StartCoroutine(Idle());
        }
        else
        {
            StartCoroutine(Move());
        }
    }
コード例 #3
0
 IEnumerator Idle()
 {
     characterState = SimpleCharacterState.Idle;
     GetComponent <Animator>().PlayInFixedTime("stand", 0, 0);
     yield return(null);
 }
コード例 #4
0
 IEnumerator Move()
 {
     characterState = SimpleCharacterState.Walk;
     GetComponent <Animator>().PlayInFixedTime("move", 0, 0);
     yield return(null);
 }