###問題
下記のコードでGameOverオブジェクト(奈落に落ちたように、下に設置)に触れた時の触れた回数を画面に表示するため、
csharp
1public class GameOver : MonoBehaviour 2{ 3 int DieCount = 0; 4 public Text DieText; 5 6 7 8 void OnCollisionEnter(Collision collision) 9 { 10 if (collision.gameObject.name == "GameOver") 11 { 12 transform.position = new Vector3(0, 0, 0); 13 14 DieCount = DieCount+1; 15 } 16 17 } 18 19 void Update() 20 { 21 DieText.text = "DieCount : " + DieCount; 22 } 23 24}
これだと、表示される数が+12、+22と、2倍されてしまいます。
今は、しょうがなく、
c#
1public class GameOver : MonoBehaviour 2{ 3 int DieCount = 0; 4 public Text DieText; 5 6 7 8 void OnCollisionEnter(Collision collision) 9 { 10 if (collision.gameObject.name == "GameOver") 11 { 12 transform.position = new Vector3(0, 0, 0); 13 14 DieCount = DieCount+1; 15 } 16 17 } 18 19 void Update() 20 { 21 DieText.text = "DieCount : " + DieCount/2; 22 } 23 24}
最後の
c#
1DieText.text = "DieCount : " + DieCount; 2
を
c#
1DieText.text = "DieCount : " + DieCount/2;
にかえて、とりあえず対処しています。
対処前に2倍してしまう理由を教えてください。
お願いします。
回答1件
あなたの回答
tips
プレビュー