if (MyDropBox.transform.childCount != 3 && !MyDropBoxDown) { MyDropBoxDown = true;} // Detect dropbox down and set a bool flag
if (MyDropBox.transform.childCount == 3 && MyDropBoxDown) { MyDropBoxDown = false;} // detect dropbox up and unset a bool flag
2条答案
按热度按时间cwtwac6a1#
您需要做的是在UI和Box Collider上的附加脚本上实现
IPointerClick
(这些接口中的一系列位于UnityEngine.EventsSystems
中),使用这两个脚本将使用相同的事件系统,并将有效地阻止它。您需要在主摄像头上添加一个
PhysicsRaycaster
。wmtdaxz32#
因此,似乎没有“内置”或优雅的方法来实现这一点,因此其解决方法时间:这是我想出来的完美的作品。
将这两行放在update()中,以设置一个布尔标志来标记使用中的下拉框。
然后你可以使用这个标志禁用盒子碰撞器,或者退出盒子碰撞器调用的函数,例如if(MyDropBoxDown){return},这样它就不会运行。