如何传送到我想要的地方?例如像这样,
else if (this.inputLine.StartsWith("/teleport"))
............................... transform.position = new Vector3(71,79,-79);
how to put 71,79,-79 after command? so like this,
else if (this.inputLine.StartsWith("/teleport 71 79 -79"));
use (Convert.ToInt32(this.inputLine.Remove(0, 3))???? how? please help me
答案 0 :(得分:1)
您不会在问题中提供太多信息,但是从您的代码中我假设如下:
if-else
块会循环显示所有可能的命令并完成所需的操作。我建议使用字符串输入并缩短它,然后使用' '
分隔符解析剩余的字符串。
这将为您提供带有矢量值的字符串数组。
接下来,将此数组中的每个字符串转换为int,然后您可以将这些int分配给用于确定新位置的变量。
例如:
// Input: /teleport 30 146 18
else if (this.inputLine.StartsWith("/teleport")
{
// Gets what the user typed.
string input = inputLine.Text;
// Removes the "/teleport" part of string.
string vectorString = input.Substring(8);
// Splits the remaining string into an array of values using ' ' delimiter.
string[] va = vectorString.Split(' ');
// Converts values from string to int.
int x = Convert.ToInt32(va[0]);
int y = Convert.ToInt32(va[1]);
int z = Convert.ToInt33(va[2]);
// Changes the position using these ints.
transform.position = new Vector3(x, y, z);
}
作为创建子字符串的替代方法,您可以拆分字符串,然后避免使用数组的第一个元素,而是将元素2,3和4分配给整数。