【问题标题】:When making a score for a flappy bird clone, it gives an error when tranforming an int variable to a string one to display it in a text为飞扬的小鸟克隆打分时,将 int 变量转换为字符串以在文本中显示时会出错
【发布时间】:2022-12-16 09:01:31
【问题描述】:

我是 Unity 的新手,所以我正在制作一个飞扬的小鸟游戏来学习基础知识。创建乐谱时,我必须将一个 int 变量转换为一个 oa 字符串变量,但它不起作用。这是代码(用 Visual Studio 编写):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class LogicScript : MonoBehaviour
{
    public int PlayerScore;
    public Text ScoreText;

    public void addScore()
    {
        PlayerScore = PlayerScore + 1;
        ScoreText = PlayerScore.ToString();
    }

}

最后的 ToString 方法不起作用。它给我以下错误:您无法在 UnityEngine.UI.Text 中转换类型字符串。我不明白。我不太了解 Unity,因此希望得到一些帮助。谢谢!

我试图做一个飞扬的鸟得分。我尝试使用该信息创建一个变量(string PlayerScoreText = PlayerScore.ToString();),找到其他可能有帮助的方法,关闭并重新打开游戏并试图理解错误的含义但我不知道出了什么问题

【问题讨论】:

  • 我不太了解 Unity3D,但在我看来 Text 是一个显示文本数据的 UI 元素。因此,Text 类型的变量只能保存Text 类型的实例,不能保存string 类型的实例/值。访问在线 Unity3D 脚本/API 文档并尝试查找 Text 类型的相应 API 文档。阅读此类型的用途。并进一步细读 Text 类型的成员(方法/属性)的文档,以查找其哪些方法或属性允许您将字符串值分配给 Text 实例。

标签: c# unity3d flappy-bird-clone


【解决方案1】:

看起来你所做的 90% 是正确的,但你错过了你的 ScoreText 需要它后面的 .text。

尝试:

ScoreText.Text = PlayerScore.ToString();

Unity 文档也是这样显示的。 https://www.tutorialspoint.com/unity/unity_text_element.htm

【讨论】:

    猜你喜欢
    • 2022-11-17
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多