为什么我的 Unity 按钮需要多次点击才能最终工作?
Why do my Unity Buttons need multiple taps to finally work?
如标题所示,我的屏幕有两个 canvases。两者实际上是彼此的副本,只是我的纵向和横向方向的布局不同。当方向改变时,我禁用包含 Canvas.
的适当游戏对象
现在,我在使用之前 canvas 打开的其他按钮时从未遇到过任何问题,但我遇到了这个问题,我的活动 canvas 需要多次点击同一个按钮终于工作了。
我应该做些不同的事情吗?
EDIT: 在Unity Editor上测试没问题。仅当它进入 Android 或 iOS 设备时。
请记住它确实有效。只是需要无数次的尝试。
通常这种时而时而时而不起作用的点击是由距离相机相同距离的两个碰撞器引起的。
尝试更改 button/canvas 的 Z 轴位置以查看是否是这种情况。
光线投射很可能在后台用于 canvas 点击,它只发送最接近碰撞器的 onMouseDown 事件。
同样在 Canvas 上,如果它在 Screen Space - Camera
上,请调整 Order in Layer
以使两个 canvas 不在同一层上。
如果同一层有两个,则必须选择其中一个。看来,在这种情况下,unity会随机选择一个。
我遇到了同样的问题。在我的例子中,原因是我在同一个游戏对象上同时拥有 TouchInputModule 和 StandaloneInputModule。只需删除其中一个输入即可解决我的问题。
如标题所示,我的屏幕有两个 canvases。两者实际上是彼此的副本,只是我的纵向和横向方向的布局不同。当方向改变时,我禁用包含 Canvas.
的适当游戏对象现在,我在使用之前 canvas 打开的其他按钮时从未遇到过任何问题,但我遇到了这个问题,我的活动 canvas 需要多次点击同一个按钮终于工作了。
我应该做些不同的事情吗?
EDIT: 在Unity Editor上测试没问题。仅当它进入 Android 或 iOS 设备时。
请记住它确实有效。只是需要无数次的尝试。
通常这种时而时而时而不起作用的点击是由距离相机相同距离的两个碰撞器引起的。
尝试更改 button/canvas 的 Z 轴位置以查看是否是这种情况。
光线投射很可能在后台用于 canvas 点击,它只发送最接近碰撞器的 onMouseDown 事件。
同样在 Canvas 上,如果它在 Screen Space - Camera
上,请调整 Order in Layer
以使两个 canvas 不在同一层上。
如果同一层有两个,则必须选择其中一个。看来,在这种情况下,unity会随机选择一个。
我遇到了同样的问题。在我的例子中,原因是我在同一个游戏对象上同时拥有 TouchInputModule 和 StandaloneInputModule。只需删除其中一个输入即可解决我的问题。