前提・実現したいこと
unity オブジェクトがタッチされたか判定したいのですが,インスペクターの設定
がまずいのでしょうか?
エラーメッセージ NullReferenceException: Object reference not set to an instance of an object GetClickedGameObject.getClickObject () (at Assets/Scripts/GetClickedGameObject.cs:34) GetClickedGameObject.Update () (at Assets/Scripts/GetClickedGameObject.cs:20)
該当のソースコード
Unity
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using UnityEngine.EventSystems; 6 7public class GetClickedGameObject : MonoBehaviour { 8 9 GameObject clickedGameObject; 10 11 // Use this for initialization 12 void Start () { 13 14 } 15 16 // Update is called once per frame 17 void Update() 18 { 19 20 GameObject obj = getClickObject(); 21 if (obj != null) 22 { 23 // 以下オブジェクトがクリックされた時の処理 24 } 25 26 } 27 // 左クリックしたオブジェクトを取得する関数(2D) 28 private GameObject getClickObject() 29 { 30 GameObject result = null; 31 // 左クリックされた場所のオブジェクトを取得 32 if (Input.GetMouseButtonDown(0)) 33 { 34 Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); 35 Collider2D collition2d = Physics2D.OverlapPoint(tapPoint); 36 if (collition2d) 37 { 38 result = collition2d.transform.gameObject; 39 } 40 } 41 return result; 42 } 43 } 44
回答1件
あなたの回答
tips
プレビュー