创建虚拟键盘Unity C#
第一件事:我是新来的。所以我正试图在Unity中构建一个虚拟键盘。我从一个键和一个输入字段开始创建虚拟键盘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); } } 下面是
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;