private IEnumerator Kick_Cor() { can_Attack = false; _controller.Set_Is_Playable(false); _anim.SetTrigger("KickTrigger"); _rigid.velocity = new Vector2(transform.localScale.x * 180f, -200f); kick_Collision.Make_Collider_Appear(); for (float t = 0; t < 0.33f; t += Time.deltaTime) { _rigid.velocity = new Vector2(transform.localScale.x * 180f, _rigid.velocity.y); //敵と衝突時ノックバック if (kick_Collision.Hit_Trigger()) { _rigid.velocity = new Vector2(40f * -transform.localScale.x, 180f); BeetlePowerManager.Instance.StartCoroutine("Increase_Cor", 8); _controller.Change_Animation("JumpBool"); yield return(new WaitForSeconds(0.15f)); break; } yield return(null); } kick_Collision.Make_Collider_Disappear(); _controller.Set_Is_Playable(true); can_Attack = true; }
private IEnumerator Kick_Cor(bool is_Sliding) { accept_Input = false; //入力受付後15フレーム以内にキック可能になればキック float loop_Count = 0; while (!can_Attack) { yield return(null); loop_Count++; if (loop_Count > 15) { accept_Input = true; yield break; } } can_Attack = false; _controller.Set_Is_Playable(false); _controller.Change_Animation("KickBool"); //キック開始 _rigid.velocity = new Vector2(transform.localScale.x * Kick_Velocity(), -Kick_Velocity()); kick_Collision.Make_Collider_Appear(); player_SE.Play_Kick_Sound(); //キック中 if (is_Sliding) { StartCoroutine("Sliding_Cor"); } else { StartCoroutine("Kicking_Cor"); } yield return(new WaitUntil(End_Kick)); //キック終了 if (_controller.is_Landing) { _controller.Change_Animation("IdleBool"); } else { _controller.Change_Animation("JumpBool"); } _controller.Set_Is_Playable(true); kick_Collision.Make_Collider_Disappear(); float time = is_Sliding ? 0 : 0.05f; yield return(new WaitForSeconds(time)); can_Attack = true; accept_Input = true; }
private IEnumerator Kick_Cor(Kind kind) { accept_Input = false; //入力受付後500フレーム以内にキック可能になればキック float loop_Count = 0; while (!_controller.can_Attack) { yield return(null); loop_Count++; if (loop_Count > 500) { accept_Input = true; yield break; } } //キック開始 _controller.can_Attack = false; _controller.Set_Is_Playable(false); _controller.Change_Animation("KickBool"); player_Body.Change_Collider_Size(new Vector2(10, 12), new Vector2(0, -6)); player_SE.Play_Kick_Sound(); if (kind == Kind.kick || kind == Kind.sliding) { kick_Collision.Make_Collider_Appear(false); StartCoroutine("Kicking_Cor"); } else { kick_Collision.Make_Collider_Appear(true); player_SE.Play_Charge_Shoot_Sound(); Quit_Charge(true); player_Body.Become_Invincible(); StartCoroutine("Charge_Kicking_Cor"); } yield return(new WaitUntil(End_Kick)); //キック終了 if (_controller.is_Landing) { _controller.Change_Animation("IdleBool"); } else { _controller.Change_Animation("JumpBool"); } _controller.Set_Is_Playable(true); kick_Collision.Make_Collider_Disappear(); player_Body.Back_Default_Collider(); if (kind == Kind.charge_Kick || kind == Kind.charge_Sliding) { player_Body.Release_Invincible(); } _controller.can_Attack = true; accept_Input = true; }