具有UI元素的Unity OnMouseEnter,OnMouseOver,OnMouseExit不起作用

时间:2018-06-03 00:20:16

标签: c# unity3d scripting

请注意,提到此链接重复的上述链接是询问“如何在Android上的Canvas on Touch上检测UI对象?”,这不是我的问题。

我有一个只有Unity UI元素的场景。

UI元素(基本上)是一个图像列表,每个图像都有一个Text作为孩子。

文字是一个词。

然后我用Text创建了一个单独的Image(背景),当鼠标悬停在特定单词上时我想要显示,然后当鼠标悬停在特定单词上时消失。

已在场景中手动创建每个UI项目。

问题是选项“OnMouseEnter”和“OnMouseExit”不起作用。

我的剧本:

using UnityEngine;
using UnityEngine.EventSystems;

public class MouseEnablePopupWindow : MonoBehaviour
{
    public GameObject popupWindowObject;

    private void Start()
    {
        popupWindowObject.SetActive(false);
    }

    private void Update()
    {
    }

    private void OnMouseEnter()
    {
        print("OnMouseEnter");
        popupWindowObject.SetActive(true);
    }

    private void OnMouseExit()
    {
        print("OnMouseExit");
        popupWindowObject.SetActive(false);
    }
}

场景中的唯一项目是UI项目(画布,图像,文本)。

Start方法成功将参考游戏对象设为非活动状态。但是在上空或外面盘旋都没有任何作用。

我想知道为什么“OnMouseEnter”等鼠标输入处理代码不起作用。我在网上发现的关于这个主题的每篇帖子都涉及写一种完全不同的处理输入方式。

为什么内置功能不起作用?有任何想法吗?感谢。

0 个答案:

没有答案