Particleを使いビームの表現をするために、SetActiveを使いON,Offの切り替えをしようとしました。
1発目は無事発射出来たのですが、2発目から出なくなってしまいました。
座標がおかしいから?と思い、コルーチン終了後に
c#
1transform.position = (Particle).transform.position
みたいにし、パーティクルを元の場所に戻そうとしましたが、思ったとおりにいきませんでした。
これを、出せるようにするにはどのようにすればいいですか???
c#
1 2 3 private GameObject Lv1; 4 private GameObject Lv2; 5 private GameObject Lv3; 6 7 8 void Start () { 9 10 this.rb2d = GetComponent<Rigidbody2D>(); 11 12 Lv1 = GameObject.Find("Lv1"); 13 Lv2 = GameObject.Find("Lv2"); 14 Lv3 = GameObject.Find("Lv3"); 15 16 Lv1.SetActive(false); 17 Lv2.SetActive(false); 18 Lv3.SetActive(false); 19 } 20void Update() 21{ 22 if (Input.GetKeyUp(KeyCode.Joystick1Button1)) 23 { 24 switch (LV) 25 { 26 case 1: 27 StartCoroutine(ChargeShotLv1()); 28 Debug.Log("生成Lv1"); 29 break; 30 case 2: 31 StartCoroutine(ChargeShotLv2()); 32 Debug.Log("生成Lv2"); 33 34 break; 35 case 3: 36 StartCoroutine(ChargeShotLv3()); 37 Debug.Log("生成Lv3"); 38 39 break; 40 } 41 LV = 0; 42 ChargePower = 0; 43 } 44} 45 private IEnumerator ChargeShotLv1() 46 { 47 Lv1.SetActive(true); 48 yield return new WaitForSeconds(Lv1_ShotTimer); 49 } 50 private IEnumerator ChargeShotLv2() 51 { 52 Lv2.SetActive(true); 53 yield return new WaitForSeconds(Lv2_ShotTimer); 54 } 55 private IEnumerator ChargeShotLv3() 56 { 57 Lv3.SetActive(true); 58 59 yield return new WaitForSeconds(Lv3_ShotTimer); 60 } 61 62
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。