我正在 Unity 中创建一个测试项目,我有一个输入字段和一个按钮。我想从输入中获取文本,然后单击按钮只需 Debug.Log
到 Unity 控制台。所有示例都显示了变量和函数,但没有显示它们如何获取变量的输入。我已经设置了 UI,包括将功能链接到按钮。有什么方法可以给它一个 id
就像在 JavaScript 和 HTML 中一样吗?我不想做任何花哨的事情。这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class main : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
public void debugInput() {
Debug.Log()
}
}
我想在 Debug.Log
函数的 debugInput
中传递变量。
有人可以帮我吗?
提前致谢
答案 0 :(得分:1)
InputField 使用回调将文本输入到名为 OnSubmit
的输入字段。如果您更愿意打印用户输入新文本的每一帧,还有 OnValueChanged
。
可以通过选择您的 InputField
对象在检查器中分配这些回调。检查员应该看起来像下面的照片。
只需单击 + 按钮,拖入包含您要回调的方法的脚本的对象。确保在选择它时从 Dynamic String
列表中选择它,因为它会自动将 InputField
中的字符串传递给您的函数。您将需要更改代码以采用字符串参数。
public void debugInput(string str)
{
Debug.Log(str)
}
如果您更愿意通过代码设置这些值,您可以通过向您的对象添加新的侦听器委托来实现。如果您希望将所有内容保留在脚本中,我可以发布此解决方案的片段。
编辑:我使用的是 TMPro 输入字段,但上面的示例仍然适用于 Unity UI 输入字段。您可以使用 OnSubmit
代替 OnEndEdit
。如果需要,您还可以添加自己的 EventTriggers
以使用 OnSubmit
。