输入值转换为字符串

本文关键字:字符串 转换 输入 | 更新日期: 2023-09-27 18:02:01

最近我一直在创造一款游戏,我一直在创造一个菜单。在开始时,玩家打开菜单并在UI文本字段中输入名称,我将其转换为字符串,以便玩家可以在整个故事情节中调用该名称。

我在这个网站上遇到了另一个脚本:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class GUIFieldTest : MonoBehaviour {
    public GameObject playerName;
    public void Start ()
    {
        var input = gameObject.GetComponent<InputField>();
        var se = new InputField.SubmitEvent();
        se.AddListener(SubmitName);
        input.onEndEdit.AddListener(SubmitName);
        //or simply use the line below,
        //input.onEndEdit = se;  // This also works
    }
    private void SubmitName(string arg0)
    {
        Debug.Log(arg0);
    }
}

我已经调整了这段代码,所以我可以包括一个预制文本字段作为一个游戏对象,但是我收到了一个错误说:

NullReferenceException:对象引用未设置为GUIFieldTest对象。Start () (at Assets/Scripts/GUIFieldTest.cs:13)

我知道这个错误意味着没有任何赋值,我知道如何修复NullReferenceException。我能够运行游戏,但游戏冻结,文本字段是不可点击的。不能输入任何文本

我知道这是一个非常简单的问题,但如果能解释一下就好了。

输入值转换为字符串

var input = gameObject.GetComponent<InputField>()

var input = playerName.GetComponent<InputField>().

当你使用gameObject.GetComponent时,它只会在GameObject上找到脚本附加的组件。

我假设你的InputField GameOBject是playerName变量。

如果不是,则执行var input = GameObject.Find("YourInputFieldGameOBject").GetComponent<InputField>() .