输入值转换为字符串
本文关键字:字符串 转换 输入 | 更新日期: 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>()
.