前提・実現したいこと
初めまして。私は今unityでシューティングゲーム作ってます。今は「オブジェクトAとオブジェクトBが衝突すると、オブジェクトAのHPが減る」というものを作っています。先ほどunityを起動してテキストに移し、実際にHPが減るか試したところ減りませんでした。なぜなのでしょうか。
発生している問題
衝突してもHPが減らない
該当のソースコード
using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class Health : MonoBehaviour { public int Maxhealth = 100; public Text shellLabel; void Start() { shellLabel.text = ("+") + Maxhealth; } void OnControllerColliderHit(ControllerColliderHit hit) { if (hit.gameObject.tag == "ObjectB") { Maxhealth -= Random.Range(5, 12); } } private void Update() { if (Maxhealth == 0) { SceneManager.LoadScene("gameover"); } } }
オブジェクトAにはcolliderとrigidbodyをアタッチしています。Bにはcolliderをアタッチしています。
Tagも問題ないです。オブジェクトBにはキャラクターコントローラーとオブジェクトAを見つけるための、ボックスコライダーがついています。
補足情報(FW/ツールのバージョンなど)
unity2018.4.2f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/03 17:04