输入字段在使用 C# 的 Unity 中没有反应

Input Field doesn't react in Unity with C#

我无法从我的输入字段中获取信息 - 我什至无法输入值。 Input- Field - Settings

密码是:

using UnityEngine;
using UnityEngine.UI;

public class ButtonPress : MonoBehaviour {

    public InputField GrasInput;
    public Button playbutton;
    int GrasVal=0;

    private void Start()
    {
        Button btn = playbutton.GetComponent<Button>();
        btn.onClick.AddListener(TaskOnClick);
    }

    void TaskOnClick()
    {
        GrasVal++;
        GrasInput.text = GrasVal.ToString();
    }
}

我做错了什么,我找不到解决方案,尝试了不同的方法来解决问题(上面的代码中没有提到,因为 none 解决了)?所有组件(GrasInput 和播放按钮)都通过 _Manager 和此脚本在控制台中连接。 (整个项目上传到http://simsoeko.tk/

谢谢,抱歉,我只是一个初学者,我真的很想找出为什么它不起作用。

查看提供的屏幕截图,您的 Text GameObjects 在层次结构中更靠下,而且它们的大小似乎 "contain" 输入字段,因此它们阻止了光线投射到您的 InputFields

在你的 Text 对象上取消勾选 Raycast Target

或将 InputField 在层次结构中进一步向下移动(同时 Canvas 的其余子项)

可能您的场景缺少 EventSystem 对象。在 Hierarchy > create > UI > EventSystem (https://docs.unity3d.com/ScriptReference/EventSystems.EventSystem.html)

下添加

每:https://answers.unity.com/questions/1540770/cant-click-on-input-fields.html