我是 unity 的新手,我正在尝试做非常简单的事情。如您所见,在我的场景中,Canvas 对象下只有两个对象。这是我添加了 Ground 和 Deneme 对象的脚本。
Code (CSharp):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class Ground : MonoBehaviour, IPointerClickHandler
{
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log("Ground clicked");
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
我想在点击地面物体时看到地面被点击。但是它没有看到。当我点击地面时,控制台保持空白。但是当我点击“Deneme”图像对象时,控制台显示“Ground clicked”。
我想知道为什么它对 deneme object 有效而对地面不起作用。所以我查看了 EventSystem。 Raycasty 不只是检测地面物体。它有一个 boxcollider 2d.
那为什么会发生呢?