2014-12-06 62 views
1

這是我的盒子的腳本,它顯示的是盒子,但文本(「按T」)沒有出現。我已經嘗試過不同尺寸的文本框,以防文本太小而忽略文本,但改變尺寸不會改變任何內容,我不會收到任何錯誤或警告。C#文本沒有出現在一個盒子裏(Unity 3D)

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(); 
} 
+0

只是好奇,如果不使用「新的矩形」,只是「矩形」的作品? – orderof1 2014-12-06 05:05:44

+0

@ orderof1 JavaScript只允許Rect,但c#在允許之前需要顯式聲明新對象。當你離開「新的」時,你會看到一個錯誤的行爲缺失。 – CodeMonkey 2014-12-06 05:14:30

+1

@CodeMonkey而不是更新標題閱讀「」,只需選擇你自己的答案。 – DuckMaestro 2014-12-06 05:45:26

回答

1
float rightside = leftside - Screen.width * 1/6;` 

應該

float rightside = leftside + Screen.width * 1/6; 

,或者如果我想成爲真正的低效

float width = Mathf.abs(rightside - leftside) 

,因爲當我帶的寬度right side - left side它返回一個負值,這統一做當你繪製一個矩形時沒有警告