我正在制作游戏,但我在游戏中出现得分时遇到了麻烦。
到目前为止,这就是我的全部内容:
public class keepingScore : MonoBehaviour {
public static double homeScore;
// Use this for initialization
void Start ()
{
double homeScore = 5.0;
print(homeScore);
}
}
所以我的代码正在向控制台打印5,当我尝试其他方法时,它说它不会工作,因为homeScore不是字符串。
任何帮助人员?
谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,如果您想在GUI中获得分数,首先需要在场景中使用Text
组件。
在场景中拥有Text
组件后,您需要创建一个脚本来处理分数并将其添加到您创建的Text
组件中。这是分数管理器脚本的示例:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class keepingScore : MonoBehaviour {
public static double homeScore;
Text text;
void Awake () {
text = GetComponent<Text>();
homeScore = 0.0;
}
// Update is called once per frame
void Update () {
text.text = "Score: " + homeScore;
}
}
现在,您可以将此脚本附加到之前创建的Text
组件。该脚本的作用是首先检索它所附加的Text
组件并初始化public static double homeScore
,只需执行keepingScore.homeScore
即可从任何脚本访问和修改。最后,Update
函数将每帧运行以更新您拥有的Text
组件。
现在您的场景中有一个Text
组件并附加了此脚本,您可以开始修改乐谱的值。随时随地。一个例子就是让我们说当你的玩家拿起你要给他1分的硬币时,所以如果玩家与硬币发生碰撞,你可以在homeScore
void OnCollisionEnter(Collision collision) {
if (collision.CompareTag("Coin"))
keepingScore.homeScore++;
}
例如,当玩家与硬币发生碰撞时,这会在分数上加1。
您可以keepingScore.homeScore += pointAmount
在任何想要向玩家添加点数的位置Text
,它会自动更新GUI MissingMethodException: Method not found: 'Boolean System.Reflection.Assembly.op_Equality(System.Reflection.Assembly, System.Reflection.Assembly)'.
。