首页 > 解决方案 > 如何更改文本值

问题描述

我有 2 个 UI 文本字段,我试图让它在每次调用 NextLevel 方法(级别已完成,更改为下一个场景)时向两个 UI 文本字段添加 1,例如,Text1 为 1,Text2 为 2,当 NextLevel方法称为我想将 Text1 更改为 2 并将 Text2 更改为 3。这是我的第一个游戏我尝试了我的方法来完成这个但没有任何反应,请帮我完成这个

[SerializeField] private Text Text1;
 [SerializeField] private Text Text2;

public void NextLevel()
 {
     currentStage++;
     LevelCompletedMenu.SetActive(false);
     FindObjectOfType<PlayerController>().ResetBall();
     SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
     Debug.Log("Next level called");
//when this method called level will complete and load next Scene(level)
// whenever this method called i want to change Text1 value from 1 to 2 and Text2 value from 2 to 3 
and so on every time level completed, i think i need to use PlayerPrefs to save these values so that 
data passes through next scene
 }

标签: c#unity3duser-interface

解决方案


您需要将文本值转换为数字,将其递增,然后将其重新分配给您的文本框。

例如:

TextBox1.Text = (Convert.ToInt32(TextBox1.Text)++).ToString();

推荐阅读