問題:マウスクリックを検出せよ
ゲームオブジェクトのマウスクリックを検出してログを出力してください。
回答例
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class PrefabDestroyer : MonoBehaviour, IPointerClickHandler { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } public void OnPointerClick(PointerEventData pointerData) { Debug.Log(gameObject.name + " がクリックされました!"); } }
解説
マウスクリックを検出するためには、イベントシステムとカメラからのポインタークリックを検出します
そのために、まずはインスペクタービューでカメラにPhysics Raycasterを設定します
そして、クリックを検出したいオブジェクトにスクリプトをセットします。
using UnityEngine.EventSystems;
イベントシステムのライブラリの利用宣言。
public class PrefabDestroyer : MonoBehaviour, IPointerClickHandler
MonoBehaiviorの横に、IPointerClickHandlerを継承を記述します。
あとはOnPointerClick関数を定義して、クリックイベントを取得します。
public void OnPointerClick(PointerEventData pointerData) { Debug.Log(gameObject.name + " がクリックされました!"); }