我环顾了如何获取在画布上按下的按钮的名称,而有关“获取名称”的一切都正常 问题在于此事件永远不会停止。
因此,在获得无效的名称后,我尝试将“ buttonPressed”设置为null。
我还尝试将es.currentSelectedGameObject设置为null,这是我不允许的(应该知道,但是值得尝试)
我也在此stackoverflow中搜索了解决方案,但可惜我找不到解决我问题的方法。
void Update()
{
buttonPressed = es.currentSelectedGameObject;
if (buttonPressed != null)
{
Debug.Log(buttonPressed.name);
buttonPressed = null;
} else
{
return;
}
}
所以我想要的是类似的东西
我单击一个按钮,控制台显示后 “ [时间] NAME_OF_BUTTON”
我目前得到的是永无止境的
“ [时间] NAME_OF_BUTTON”
非常感谢您的帮助:)
答案 0 :(得分:2)
这将触发所有更新。您可以使用es.SetSelectedGameObject(null);
取消选择,也可以使用标志属性,例如仅在选择游戏对象时将recentlySelected
设置为true
,并在条件内将其设置为false
。即
if (buttonPressed != null && recentlySelected)
{
Debug.Log(buttonPressed.name);
buttonPressed = null;
recentlySelected = false;
}
// Also, else is unnecessary.