C# 文本未出现在框中(Unity 3D)

C# 文本未出现在框中(Unity 3D),c#,user-interface,unity3d,C#,User Interface,Unity3d,这是“我的盒子”的脚本,它正在显示盒子,但文本(“按T”)没有显示。我尝试了不同尺寸的盒子,以防它太小,无法容纳文本,并且忽略了文本,但更改尺寸并没有改变任何东西,我没有收到任何错误或警告 static float top = Screen.height * 5/6; planeCanBeMade(){ GUI.backgroundColor = Color.black; float leftside = Screen.width / 3; float rights

这是“我的盒子”的脚本,它正在显示盒子,但文本(“按T”)没有显示。我尝试了不同尺寸的盒子,以防它太小,无法容纳文本,并且忽略了文本,但更改尺寸并没有改变任何东西,我没有收到任何错误或警告

static float top = Screen.height * 5/6;
planeCanBeMade(){
     GUI.backgroundColor = Color.black;
     float leftside = Screen.width / 3;
     float rightside = leftside - Screen.width * 1 / 6;
     float height = top / 6;
     float width = rightside - leftside;
     GUI.contentColor = Color.white;
     GUI.Box (new Rect (leftside, top, width, height), "Press T");
}

void OnGUI(){
 planeCanBeMade();
}
应该是

 float rightside = leftside + Screen.width * 1 / 6;
或者如果我真的想变得效率低下

 float width = Mathf.abs(rightside - leftside)

因为当我取宽度
右侧-左侧时,它返回一个负值,unity在绘制矩形时不会警告这个负值

如果不使用“new Rect”并且只使用“Rect”工作,那么只是好奇?@OrderO1JavaScript只允许Rect,但c需要在允许它之前显式声明一个新对象。当您取消“新建”时,您将得到一个错误,即行为丢失。@CodeMonkey不更新标题为“”,只需选择您自己的答案。@DuckMaestro它说我可以在2天内完成,我不想让人们浪费时间试图解决this@CodeMonkey然后等待2天,从标题中删除
。如果有人浪费时间,那是他们的问题,不是你的问题。
 float width = Mathf.abs(rightside - leftside)