Unity5中update()方法修改后的变量不改变值

A modified variable does not change the value in update() method in Unity5

我在脚本中声明了一个变量:

private int count;

Awake() 方法中初始化它:

void Awake() 
{
    count = 1;
}

继续检查打印它的值:

void Update ()
{
    Debug.Log(count);
}

然后声明一个方法来改变这个变量的值:

public void ChangeValue()
{
    count = 2;
    Debug.Log("button has being pressed!");
    Debug.Log(count);
}

然后创建一个按钮调用此方法更改值,在update()方法中打印出来的值不会更改,不会出错。

这是日志:

无论我按了多少次按钮,Update()方法中的计数变量仍然是“1”。

如何更新 Update() 方法中的变量值?

您的日志设置为 collapse,它将记录的相同项目组合在一起,看起来您已经在打印 2 的地方实现了您想要的效果。

您的脚本要么附加到同一个游戏对象两次,要么附加到多个游戏对象。下图显示了如何针对每种情况轻松找出并修复它。

您的脚本不止一次附加到同一个游戏对象:

您的脚本已附加到多个游戏对象:


这应该可以解决您的问题。如果不是,则它是此的组合,并且 Collapse 已启用。因此,您还必须像 提到的那样禁用 Collapse