我环顾四周如何获取在画布上按下的按钮的名称,而一切正常,关于“获取名称”问题确保此事件永远不会停止。
所以我尝试在获取不起作用的名称后将“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”
在此先感谢您的帮助 :)
这会触发所有更新。您可以使用es.SetSelectedGameObject(null);
取消选择,也可以使用标记属性,例如recentlySelected
仅在选择游戏对象时设置为true
,并在条件内将其设置为false
。即
if (buttonPressed != null && recentlySelected)
{
Debug.Log(buttonPressed.name);
buttonPressed = null;
recentlySelected = false;
}
// Also, else is unnecessary.