問題点
数値を比較し、そのコンボに達した時にcombo変数を+1するという処理を考えましたが、達した時に+7程されてしまいます。比較の仕方が間違っていたりしますか・・・?
また、これが原因なのか、switch文もcase1にのみ通っています。
実装したい動き
コンボの比較の処理を一回だけに済ませるようにしたい。
Switch文が、そこから通るようにしたい。
c#
1GameManager class 2 3 public Text ComboText; 4 public int ComboCounter; 5 public float deltaTime; 6 7 public static float delta; 8 public static int Combo; 9 10 // Update is called once per frame 11 void Update() 12 { 13 ComboCounter = Combo; 14 //if (Combo > 5) 15 //{ 16 ComboText.text = "Combo" + ComboCounter.ToString(); 17 //} 18 //コンボ取得時に計測時間計測開始 19 if (Combo > 1) 20 { 21 //計測時間設定 22 delta += Time.deltaTime; 23 } 24 //計測時間を代入 25 deltaTime = delta; 26 27 if(deltaTime > 3) 28 { 29 //計測時間経過後コンボ初期化 30 Combo = 0; 31 Debug.Log("0"); 32 33 } 34 35 Main(); 36 } 37
c#
1Player class 2 #region ComboShot 3 //combo初期化 4 if(GameManager.Combo == 0) 5 { 6 combo = 0; 7 } 8 //switch文に使用するための変換処理 9 if (GameManager.Combo == 50) 10 { 11 Debug.Log("1"); 12 combo += 1; 13 return; 14 } 15 if (GameManager.Combo == 100) 16 { 17 combo += 1; 18 return; 19 } 20 if (GameManager.Combo == 150) 21 { 22 combo += 1; 23 return; 24 } 25 switch (combo) 26 { 27 case 1: 28 Debug.Log("comboEX1"); 29 break; 30 case 2: 31 Debug.Log("comboEX2"); 32 33 break; 34 case 3: 35 Debug.Log("comboEX3"); 36 37 break; 38 } 39 40#endregion 41
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/15 12:10