Unityでの的あてを作っていてボールが的に当たったらスコアに点数を1つずつ上げていくものを作っています。ボールを発射するといきなり16というスコアが出てしまいます。おそらく発射するときのブロックとボールが当たっているのでそこが原因だと思うのですが解決策が分かりません。ブロックのbox colliderコンポーネントのチェックなどを外したのですが変わりませんでした。教えてくださいお願いします!
コード using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ScnManager : MonoBehaviour { GameObject pointText; int point = 0; public float totalTime = 30.0f; //制限時間(秒) GameObject timerGauge; float timerX = 30.0f; bool timerFinish = false; // Start is called before the first frame update void Start() { pointText = GameObject.Find("Point"); timerGauge = GameObject.Find("timerGauge"); } // Update is called once per frame void Update() { pointText.GetComponent<Text>().text = point.ToString("D3"); timerX -= Time.deltaTime; float gauge = timerX / totalTime; timerGauge.GetComponent<Image>().fillAmount = gauge; if (timerX <= 0.0f) { timerFinish = true; } } public void GetPoint() { if (timerFinish == false) point++; } } ```ここに言語を入力 コード ```bulletのscriptがこれで using System.Collections; using System.Collections.Generic; using UnityEngine; public class bullet : MonoBehaviour { GameObject scnManager; // Start is called before the first frame update void Start() { scnManager = GameObject.Find("ScnManager"); } // Update is called once per frame void Update() { transform.position += transform.forward * Time.deltaTime * 1; } void OnTriggerEnter(Collider other) { scnManager.GetComponent<ScnManager>().GetPoint (); } } ```ここに言語を入力 ```コード動かすブロックのscript using System.Collections; using System.Collections.Generic; using UnityEngine; public class BlockController : MonoBehaviour { void Update() { // 左に移動 if (Input.GetKey(KeyCode.LeftArrow)) { this.transform.Translate(-0.05f, 0.0f, 0.0f); } // 右に移動 if (Input.GetKey(KeyCode.RightArrow)) { this.transform.Translate(0.05f, 0.0f, 0.0f); } // 前に移動 if (Input.GetKey(KeyCode.UpArrow)) { this.transform.Translate(0.0f, 0.0f, 0.5f); } // 後ろに移動 if (Input.GetKey(KeyCode.DownArrow)) { this.transform.Translate(0.0f, 0.0f, -0.05f); } } }
コードが見づらいです。正しく記載し直してください。
また、質問に関連する処理以外は予め削除してください。
これでは、解決しようとする側が余分にコードを見る必要があり、誰も回答してくれません。
あなたの回答
tips
プレビュー