Пример #1
0
    void Update()
    {
        FallDeath();                            // 落下死判定
        if (hp <= 0 && deathFlag == false)
        {
            DeathPlayerAnimation();             // 死亡アニメーション
        }
        if (deathFlag)
        {
            return;
        }
        Invincible();                           // 無敵時間

        directionTypeNum = (int)myDirectionType;

        #region Input
        // Nomalかつ攻撃キーを押した時
        if (Input.GetKeyDown(KeyCode.Return) && mystatus == Status.normal)
        {
            // 吸い込みエフェクト
            parcon.ParticlePlay();
        }

        if (Input.GetKeyDown(KeyCode.Return))
        {
            // Audioの切り替え
            plAudio.ChangeAttackAudio(mystatus);
        }

        if (Input.GetKey(KeyCode.Return))
        {
            if (squatFlag == false)
            {
                Attack();
                // 攻撃をしている時は動けない為return
                return;
            }
        }

        // Enterキーを離すまで吸い込みをする
        // Flagが立っている時
        if (Input.GetKeyUp(KeyCode.Return) && cheekFlag)
        {
            // 吸い込んだので膨らんでいる状態
            mystatus = Status.cheek;
            FatJudg(1.5f);
        }

        // 攻撃キーを離した時
        if (Input.GetKeyUp(KeyCode.Return))
        {
            parcon.ParticleStop();
            anim.SetBool("AttackFlag", false);
            plAudio.AudioStop();
        }
        #endregion

        #region 移動処理
        Squat();
        move_x = 0f;
        move_y = 0f;
        // ジャンプの処理
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (mystatus == Status.cheek && groundFlag == false)
            {
                return;
            }
            Jump();
        }

        // 歩く処理
        if (Input.GetKey(KeyCode.A))
        {
            Walk(-1);
        }

        if (Input.GetKey(KeyCode.D))
        {
            Walk(1);
        }

        // 走る処理
        if (Input.GetKey(KeyCode.LeftShift) && Input.GetKey(KeyCode.A))
        {
            Run(-1);
        }

        if (Input.GetKey(KeyCode.LeftShift) && Input.GetKey(KeyCode.D))
        {
            Run(1);
        }

        var move = move_x * transform.right;
        rb.velocity = new Vector2(move.x, rb.velocity.y);
        MoveResriction();
        #endregion

        #region Animation関連
        if (rb.velocity.x <= 1 || rb.velocity.x >= -1)
        {
            anim.SetInteger("walkSpeed", 0);
        }

        if (rb.velocity.x > 1 || rb.velocity.x < -1)
        {
            anim.SetInteger("walkSpeed", 1);
        }

        if (rb.velocity.x > 3 || rb.velocity.x < -3)
        {
            anim.SetInteger("walkSpeed", 3);
        }

        if (groundFlag)
        {
            anim.SetBool("isGround", true);
        }
        else
        {
            anim.SetBool("isGround", false);
        }

        if (rb.velocity.y < -1)
        {
            anim.SetTrigger("FallFlag");
        }

        //Debug.Log(rb.velocity.y);
        #endregion
    }