我无法在画布上的winPanel上显示分数。
显示在游戏场景上的得分编码和用户界面:-
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class getscore : MonoBehaviour
{
public GameObject scoretext;
private void Start()
{
scoretext.GetComponent<Text>().text = "0";
}
public void setscore(float scoretoadd)
{
float currentscore = float.Parse(scoretext.GetComponent<Text>().text);
float newscore = currentscore + scoretoadd;
scoretext.GetComponent<Text>().text = newscore.ToString("F0");
}
}
接下来,我将相同的编码放在画布上,它应该在我的winPanel画布上显示分数:-
输出分数仅显示在游戏场景上,而不显示在画布上我的winPanel上的地方:-
现在的问题是...为什么分数未显示在我的winPanel画布上?
答案 0 :(得分:2)
我建议将分数保存为静态浮点数,因此无论您从何处访问分数,分数都是相同的数字
public class getscore : MonoBehaviour
{
public GameObject scoretext;
public static float score = 0;
private void Start()
{
setscore(0);
}
public void setscore(float scoretoadd)
{
score += scoretoadd;
scoretext.GetComponent<Text>().text = score.ToString("F0");
}
}
在重新加载级别getscore.score = 0