如何检查玩家是否在输入栏中写了什么?

时间:2019-06-21 16:12:57

标签: c# unity3d

在单击具有统一性的预制按钮上的播放之前,我需要玩家先写下他的名字。

public void GetNextScene()
{
    if (InputPlayerName != null)
    {
        _playerName = InputPlayerName.text;
        SceneManager.LoadScene(NextScene);
    }
    else
    {
        Debug.Log("Please, write your name first");
    }
}

1 个答案:

答案 0 :(得分:1)

您可能希望在播放器更改输入字段中的文本时动态启用和禁用按钮。

您必须使用onValueChanged事件,如果使用常规输入字段,则必须使用this one,如果使用TextMesh Pro,则必须使用this one

来自here的示例:

using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.

public class Example : MonoBehaviour
{
    public InputField mainInputField;

    public void Start()
    {
        //Adds a listener to the main input field and invokes a method when the value changes.
        mainInputField.onValueChanged.AddListener(delegate {ValueChangeCheck(); });
    }

    // Invoked when the value of the text field changes.
    public void ValueChangeCheck()
    {
        Debug.Log("Value Changed");
    }
}