创建虚拟键盘Unity C#

创建虚拟键盘Unity C#,c#,unity3d,C#,Unity3d,第一件事:我是新来的。所以我正试图在Unity中构建一个虚拟键盘。我从一个键和一个输入字段开始 using UnityEngine; using System.Collections; using UnityEngine.UI; public class KeyboardScript : MonoBehaviour { InputField iField; public void onClick() { string key = "k"; iField.text(key); } } 下面是

第一件事:我是新来的。所以我正试图在Unity中构建一个虚拟键盘。我从一个键和一个输入字段开始

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class KeyboardScript : MonoBehaviour {
InputField iField;

public void onClick() {
string key = "k";
iField.text(key);
}
}
下面是我如何解释我编写的代码: 1) 使用UnityEngine.UI允许我引用UI游戏对象

2) InputField是我的输入字段的名称,我让计算机知道它是一个iField

3) 这段代码是我的按钮的一个组件,名为K,因此onClick()表示单击按钮K时的状态

4) 让名为key的字符串等于字母k

5) 让InputField内的文本等于k

我的错误是“成员'UnityEngine.UI.InputField.Text'不能用作方法或委托。

我很感激任何建议。我看过Unity手册和其他东西,我只是需要一个人的帮助,因为我不知道我在看什么。
谢谢。

我假设您的虚拟键盘将由代表键的
游戏对象组成

在这种情况下,您的每个
游戏对象
(您的按键)都需要有一个
碰撞器
,以便鼠标点击注册

在虚拟键盘的每个键上都有一个
碰撞器
,您就可以使用Unity的内置函数
OnMouseDown()
来注册点击

所以你可能有一个
GameObject
,上面有一个
Collider
,叫做“K”

然后,您可以根据单击键时调用的键
GameObject
更改输入字段,例如:

void OnMouseDown()
{
    yourInputField.text = gameObject.name;
}
编辑:
我从来没有在Unity中真正使用过
输入字段,所以我不知道这样设置文本是否有效,但是这可能是注册
游戏对象上的点击的最好方法。你不能用你的方式设置文本。
这个是正确的

// Input field will display only your key
iField.text = key;

// Input field will display current text + your key
iField.text += key;