如何在文本字段中逐字阅读?

时间:2015-02-04 06:16:09

标签: unity3d unityscript

我有一个使用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 = "";
        }
}

1 个答案:

答案 0 :(得分:0)

使用String.split()

首先将整个文本放在String中然后拆分它。

String str = "my name is BOB";
String[] res = str.split(" ");.

res将是一个包含值的数组:

我的,名称,是,BOB