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

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

回答例

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

解説

マウスクリックを検出するためには、イベントシステムとカメラからのポインタークリックを検出します

f:id:hollywis:20210215231543p:plain

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

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

using UnityEngine.EventSystems;

イベントシステムのライブラリの利用宣言。

public class PrefabDestroyer : MonoBehaviour,  IPointerClickHandler

MonoBehaiviorの横に、IPointerClickHandlerを継承を記述します。

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

public void OnPointerClick(PointerEventData pointerData)
{
Debug.Log(gameObject.name + " がクリックされました!");
}

f:id:hollywis:20210215232154p:plain

Receive the latest news in your email
Table of content
Related articles