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。
我在脚本中声明了一个变量:
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 已启用。因此,您还必须像