在 Unity 5 中更新变量
Updating Variables In Unity 5
使用 Unity UI,每单击一个按钮,您的分数就会上升 60。我有另一个脚本,它获取该变量并将其添加到另一个分数。但是当程序启动时,分数设置为 0,因此脚本采用的是原始分数,即 0,而不是不断更新变量以匹配当前分数。
public static float score = 0;
public float scoreAdd = 0;
public void AddScore()
{
scoreAdd = 60;
score = score + scoreAdd;
}
所以这部分有效,每次单击按钮时我都会添加 60。但是当我在另一个脚本中引用该变量时,它输出为 0。每次得分变量更改时如何更新引用?
public static float newscore = buttonclick.score;
不确定我是否会正确传达这一点,但简而言之,您在第二个脚本中对变量 buttonclick.score
的引用只会在实例化时发生。而是将该变量的设置移动到 Update
方法中,以便它从另一个 class.
中保持更新
public float newscore;
void Update()
{
newscore = buttonclick.score;
}
使用 Unity UI,每单击一个按钮,您的分数就会上升 60。我有另一个脚本,它获取该变量并将其添加到另一个分数。但是当程序启动时,分数设置为 0,因此脚本采用的是原始分数,即 0,而不是不断更新变量以匹配当前分数。
public static float score = 0;
public float scoreAdd = 0;
public void AddScore()
{
scoreAdd = 60;
score = score + scoreAdd;
}
所以这部分有效,每次单击按钮时我都会添加 60。但是当我在另一个脚本中引用该变量时,它输出为 0。每次得分变量更改时如何更新引用?
public static float newscore = buttonclick.score;
不确定我是否会正确传达这一点,但简而言之,您在第二个脚本中对变量 buttonclick.score
的引用只会在实例化时发生。而是将该变量的设置移动到 Update
方法中,以便它从另一个 class.
public float newscore;
void Update()
{
newscore = buttonclick.score;
}