//TracePlayerをアタッチ、初期設定 private TracePlayer Get_Trace_Player() { TracePlayer _trace = GetComponent <TracePlayer>(); if (_trace == null) { _trace = gameObject.AddComponent <TracePlayer>(); _trace.kind = TracePlayer.Kind.onlyX; _trace.speed = 2.5f; } return(_trace); }
private IEnumerator Dive_And_Jump_Shoot_Cor() { //取得 BossCollisionDetection _collision = GetComponent <BossCollisionDetection>(); TracePlayer _trace = GetComponent <TracePlayer>(); //地面に潜る _controller.Change_Fly_Parameter(); _move.Start_Move(0); yield return(new WaitUntil(_move.Is_End_Move)); //当たり判定を消して自機を追いかける _collision.Become_Invincible(); _trace.enabled = true; yield return(new WaitForSeconds(2.2f)); _trace.enabled = false; yield return(new WaitForSeconds(0.8f)); //ジャンプして弾幕発射 _collision.Release_Invincible(); _move.Start_Move(1); yield return(new WaitUntil(_move.Is_End_Move)); _shoot.Shoot_Short_Curve_Laser(); yield return(new WaitForSeconds(0.5f)); //落下 _controller.Change_Land_Parameter(); yield return(new WaitUntil(foot_Collision.Hit_Trigger)); yield return(new WaitForSeconds(0.8f)); _attack.can_Attack = true; }
private IEnumerator Attack_In_Melody_Intro_Cor() { Set_Can_Switch_Attack(false); //取得 BossCollisionDetection _collision = GetComponent <BossCollisionDetection>(); TracePlayer _trace = Get_Trace_Player(); _trace.enabled = false; //地面に潜る _effect.Jump_And_Landing_Effect(); _collision.Become_Invincible(); _controller.Change_Fly_Parameter(); _sprite.sortingOrder = -6; _se.Play("Dive"); _move_Motion.Start_Move(0); yield return(new WaitUntil(_move_Motion.Is_End_Move)); _controller.Change_Animation("DivingGroundBool"); yield return(new WaitForSeconds(0.1f)); _sprite.sortingOrder = 3; //コピーの生成 if (_controller.Get_Now_Phase() == 2) { Vector2 position = new Vector2(-transform.position.x, transform.position.y); if (Mathf.Abs(transform.position.x) < 5f) { position = new Vector2(120f, transform.position.y); } _copy.Create_Copy(80, false, position); } //自機を追いかける _trace.enabled = true; yield return(new WaitForSeconds(2.09f)); _trace.enabled = false; yield return(new WaitForSeconds(0.33f)); //ジャンプ _collision.Release_Invincible(); _controller.Change_Animation("HighJumpBool"); _move_Motion.Start_Move(1); _effect.Play_A_Letter_Effect(); _effect.Play_Burst_Effect_Red(); UsualSoundManager.Instance.Play_Attack_Sound(); yield return(new WaitForSeconds(1.03f)); //レーザー _controller.Change_Animation("ShootPoseBool"); _effect.Play_Unn_Letter_Effect(); _effect.Play_Burst_Effect_Red(); _shoot.Shoot_Short_Curve_Laser(0.33f); if (_copy.gameObject.activeSelf) { _copy_Shoot.Shoot_Short_Curve_Laser(0.33f); } yield return(new WaitForSeconds(1.65f)); //落下 _controller.Change_Land_Parameter(); yield return(new WaitUntil(foot_Collider.Hit_Trigger)); _effect.Jump_And_Landing_Effect(); _controller.Change_Animation("SquatBool"); //コピーの消去 if (_copy.gameObject.activeSelf) { _copy.Delete_Copy(); } yield return(new WaitForSeconds(1.65f)); //次の攻撃へ Set_Can_Switch_Attack(true); Restart_Attack(); }