在Unity和NGUI中,预制的onClick通知在公共函数上工作,但布尔值在更新中失去了它的值
本文关键字:布尔值 工作 失去 更新 NGUI Unity 通知 onClick 函数 | 更新日期: 2023-09-27 18:06:04
我正在尝试添加一个NGUI按钮,该按钮使用按箭头键时工作良好的控制器脚本旋转游戏对象的实例。我开始使用NGUI来添加按钮。按钮在Click上有一个通知,从游戏对象的控制器脚本中选择一个函数。
我添加了一个旋转函数,改变脚本的布尔值,当按钮被点击时,布尔值会改变,但是当从更新函数访问值时,它的值是不正确的。
我假设它与游戏对象的实例有关,或者我没有检索有问题的游戏对象。所以我尝试了这两种方法,布尔值仍然不能正确更新。
下面是我的控制器的代码:private bool rotate;
// This is the function in the notify part of onClick in the NGUI button.
public void rotateHero () {
rotate = true; // This works it sets it to true.
}
public void Update()
{
UpdateInput();
//if (_nextFallStep.PopIsOccurred() && Time.time - _lastInputTime >= InputDelay)
if (_nextFallStep.PopIsOccurred())
{
MoveDown();
_lastInputTime = Time.time;
}
}
private void UpdateInput()
{
if (rotate) {
if (Board.CanRotate(_block))
_block.Rotate();
debug.log(rotate); //Always returns false.. when it should be true.
rotate = false;
}
私有变量必须是静态的
static bool rotate;