我有一个使用Unity 3D将文本翻译成手语的程序。我的程序有一个文本字段,用户可以在其中键入一个单词将其翻译成符号,但目前我只能读取一个单词。如何在文本字段中阅读下一个单词和下一个单词?现在只能读取" name"。但我需要系统能够阅读例如"我的名字是BOB"系统读取的地方"我的"首先打电话给那个标志..然后读"姓名"第二个并打电话给标志..然后阅读"是"并呼号。我需要循环编码,能够在文本字段中接受无限的单词。
这是我的textfield代码:
var stringToEdit : String = "Type here to search";
var object : GameObject;
var lower : String;
var upper : String;
var showtext : GUIText ;
var showtext1 : GUIText ;
var anim : Animation;
function OnGUI () {
// Make a text field that modifies stringToEdit.
stringToEdit = GUI.TextField (Rect (30, 10, 200, 20), stringToEdit, 25);
if (Event.current.keyCode == KeyCode.Return)
{
lower = stringToEdit.ToLower ();
upper = stringToEdit.ToUpper ();
anim = object.animation;
if(anim.GetClip(lower))
{
object.animation.Play(lower);
showtext.text = upper;
}
else
{
showtext1.text = "Text could not be found!";
object.animation.Play("idle");
}
}
if (!object.animation.IsPlaying(lower)&& !object.animation.IsPlaying("idle")){
showtext.text = "";
showtext1.text = "";
}
}
答案 0 :(得分:0)
使用String.split()
首先将整个文本放在String中然后拆分它。
String str = "my name is BOB";
String[] res = str.split(" ");.
res将是一个包含值的数组:
我的,名称,是,BOB