【问题标题】:Clicking inside the bounds of a button text triggers the button在按钮文本的边界内单击会触发按钮
【发布时间】:2018-07-17 09:10:55
【问题描述】:

我刚刚从资产商店导入了font。要将它与 UI 一起使用,作者说我应该使用 Rect Transform 的 Scale 属性来更改字体的大小,设置字体大小不适用于此资产。

所以我创建了一个按钮,将字体附加到子游戏对象的文本组件上,并将其放大到合适的大小。

在测试应用程序时,我注意到当我在其边界之外单击时会触发该按钮。我再次检查并确认当我在包含文本组件的 gamobject 边界内单击时按钮触发。

我如何告诉 unity 使用按钮本身的边界,而不是其子游戏对象的边界?

【问题讨论】:

    标签: unity3d fonts mesh


    【解决方案1】:

    看到文本对象的句柄和边界了吗?

    所有这些仍然很重要。

    解决此问题的最简单方法是取消选中RaycastTarget(黄色),但是您可能希望调查一下为什么文本对象会这么大。我在转换中看到了(3,3,3) 的比例,这不是标准的。您应该将其重置为 (1,1,1) 并改为增加字体大小。还要检查父对象的比例、边界和锚点。

    此外,您的其他两个按钮可能也会受到类似影响。

    【讨论】:

      【解决方案2】:

      您看到的实际图形(添加弹药)可能只是文本和背景。您可能刚刚调整了大小,却没有意识到它是父对象,游戏环境中名为“添加弹药按钮”的实际东西实际上占据了一半的屏幕。因此,为什么单击屏幕底部会触发它。

      碰撞框似乎并不仅限于可见图形。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        • 2019-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多