Hollywis LLC

湘南にある小さなシステム会社

← 技術ブログ一覧に戻る

【Unity道場4】マウスクリックを検出せよ

Unity

問題:マウスクリックを検出せよ

ゲームオブジェクトのマウスクリックを検出してログを出力してください。

回答例

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 + " がクリックされました!"); }

}

解説

マウスクリックを検出するためには、イベントシステムとカメラからの[ポインター](http://d.hatena.ne.jp/keyword/%A5%DD%A5%A4%A5%F3%A5%BF%A1%BC)クリックを検出します

f:id:hollywis:20210215231543p:plain

そのために、まずはインスペクタービューでカメラにPhysics Raycasterを設定します

そして、クリックを検出したいオブジェクトにスクリプトをセットします。

using UnityEngine.EventSystems;イベントシステムのライブラリの利用宣言。

public class PrefabDestroyer : MonoBehaviour, IPointerClickHandlerMonoBehaiviorの横に、IPointerClickHandlerを継承を記述します。

あとはOnPointerClick関数を定義して、クリックイベントを取得します。

public void OnPointerClick(PointerEventData pointerData) { Debug.Log(gameObject.name + " がクリックされました!"); }f:id:hollywis:20210215232154p:plain