最近、私はゲームを作成しており、メニューを作成しています。 プレイヤーは最初にメニューを開き、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.csで:13) オブジェクトGUIFieldTest.Start(のインスタンスに設定されていないオブジェクト参照)
このエラーは何も割り当てられていないことを意味し、NullReferenceExceptionを修正する方法を理解しています。私はゲームを動かすことができますが、ゲームはフリーズし、テキストフィールドはクリックできません。テキストは入力できません。
私はこれが非常に単純な質問であることを知っていますが、説明のためには素晴らしいでしょう。あなたがgameObject.GetComponent
を使用する場合
私はUnityに精通していませんが、 'NullReferenceException'は' Null'というobjecのメンバーにアクセスしようとしていることを知っています –