我收到错误CS0029,在制作乒乓球记分牌时无法将类型字符串隐式转换为UnityEngine.UI.Text

时间:2019-05-02 21:04:43

标签: c# unity3d pong

我正在打乒乓球,我目前正在尝试制作记分牌,它给了我错误CS0029 Cannot implicitly convert type string to UnityEngine.UI.Text

我是代码新手,除了弄乱变量之外,我没有尝试过其他任何事情

public static Text ScoreBoard;
public static int LeftScore = 0;
public static int RightScore = 0;


GameManager.ScoreBoard = GameManager.RightScore.ToString() + "-" + 
GameManager.LeftScore.ToString();


public static Text ScoreBoard;
public static int LeftScore = 0;
public static int RightScore = 0;


GameManager.ScoreBoard = GameManager.RightScore.ToString() + "-" + 

它正在将乐谱打印到控制台,但是我无法在ui中更改它

我希望它能像"00 - 00"

一样打印

1 个答案:

答案 0 :(得分:0)

System.String是代表文本的字符的集合。

UnityEngine.UI.Text是要在屏幕上显示的UI画布上字符串的图形表示。

现在,您正试图告诉Unity仅使用字符串(它本身不会执行任何操作)而不是您已经设置的Text对象。

您要执行的操作是将Text的值设置为String的值,以便显示String中存储的内容。为此,您需要将其分配给Text的'text'属性,而不是将其分配给Text变量本身,就像这样:

GameManager.ScoreBoard.text = GameManager.RightScore.ToString() + "-" + GameManager.LeftScore.ToString();