从Unity3D中的字符串中删除char

时间:2013-11-09 10:41:16

标签: string unity3d

我在unity3D游戏引擎中制作文字游戏,如果单词拼写错误,我会说一句话我想从该单词中删除某个字符以进行正确的拼写然后其他角色转回...在我的代码中我有一个字符串,并希望从字符串中删除一个字符....所以当从字符串的中心删除字符时,其他字符向后移动。

static var nextPos = 200;
static var word: String;
var sel: String;
var isClicked : boolean=false;
var xpos: float = 200;
static var i:int=0;
function start()
{
 word="";
}
function OnMouseDown()
{
    if (!isClicked) {
       isClicked = true;
       xpos = nextPos;
       sel=OnGUI();
       word=word+sel;
       nextPos += 8;
       i++;

      }
else if(isClicked)
  {
  isClicked = false;
  xpos = nextPos;
  nextPos -= 8;

}
}
function OnGUI()
{  

   if (gameObject.name == "Sphere(Clone)" && isClicked )
   {
          GUI.Label(new Rect(xpos,260,400,100), "A");
          return "A";


   }

   else if (gameObject.name == "Sphere 1(Clone)" && isClicked )
   {
          GUI.Label(new Rect(xpos,260,400,100), "B");
          return "B";

   }  

   else if (gameObject.name == "Sphere 2(Clone)" && isClicked )
   {
          GUI.Label(new Rect(xpos,260,400,100), "C");
          return "C";

   }

  GUI.Label(new Rect(xpos,280,400,100), "Value" + i);
  GUI.Label(new Rect(xpos,300,400,100), word);                      
}

2 个答案:

答案 0 :(得分:0)

测试一下:

string value = "abcde";
string temp="";
temp = value.Substring(0, position - 1);
value = temp + value.Substring(position, value.Length);

答案 1 :(得分:0)

您可以在显示文本后检查按下了哪个键

这应该有效。你只需要在更新功能或OnGUI功能中调用它

如果在Update函数中使用它,则将“word”设置为全局变量

我把它写在脑后,应该有用,对不起它有任何故障。

               if(Input.anyKey)
    {
            string letter = Input.inputString;
            if (word.Contains(letter))
{

word.Replace(letter,"");

}

    }