首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity OnMouseDown太慢

Unity OnMouseDown太慢
EN

Stack Overflow用户
提问于 2020-12-31 06:00:47
回答 1查看 170关注 0票数 0

我正在编写一个点击器游戏,我不希望我的程序在我按下UI时进行计算。我试过使用!EventSystem.current.IsPointerOverGameObject(),OnPointerDown和OnMouseDown,但它们都破坏了点击的感觉,因为你不能垃圾点击。有没有更短的选择?提前谢谢你!

编辑:我已经做了你评论的所有事情,我找到了问题所在。每当我点击我的鼠标按钮时,文本就会出现,上面写着我每次点击得到的硬币数量。因此,它被算作UI元素,因此不可能进行垃圾邮件单击。我现在已经关闭了文本的“光线投射目标”,现在它可以正常工作了。谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-31 20:47:50

您可以使用带有复选标记的输入类:

代码语言:javascript
复制
void Update()
    {
        // Check if the left mouse button was clicked
        if (Input.GetMouseButtonDown(0))
        {
            // Check if the mouse was clicked over a UI element
            if (EventSystem.current.IsPointerOverGameObject())
            {
                Debug.Log("Clicked on the UI");
            }
        }
    }

或者,您可以在想要检测点击的特定对象上使用OnMouseDown,但需要进行UI检查: void OnMouseDown() {

代码语言:javascript
复制
        // Check if the mouse was clicked over a UI element
        if (EventSystem.current.IsPointerOverGameObject())
        {
            Debug.Log("Clicked on the UI");
        }
   
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65514115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档