2015-02-06 227 views
1

我設法讓我的遊戲在運行時/在遊戲中(在初始選擇之後)改變它的分辨率。但是我注意到,當從1920x1080開始說800x600時,我在前面的圖像/內容的邊上獲得了邊框。如何在屏幕分辨率更改後刷新屏幕?

例如,我的菜單顯示在最右側,當縮小到800x600時,最右側的菜單保持不變,但不可互動(它只是一個圖像),而「實際菜單」是幾百像素往左邊。

我在問的是,有什麼辦法可以讓我的遊戲雙方在有人改變分辨率時變成黑色?如果它可以幫助,我可以提供關於我的內容的圖像:)

回答

2

解決了它。由於某種原因,我最初嘗試用黑色四分屏簡單地「重置」屏幕失敗。但再次嘗試後,這似乎奏效。

通過創建一個四邊形(或紋理)並將顏色設置爲黑色(或任何其他希望設置屏幕的顏色)並將其移出,當調用屏幕分辨率時,我只需簡單地將位置紋理/四合一覆蓋畫布/屏幕,然後重新加載關卡,並將分辨率設置爲新選擇的分辨率,然後重新載入我的菜單。下面的代碼顯示,以防其他人遇到同樣的問題。

這似乎工作得很好,並且可以重複用戶想要的很多次。

public void ApplyResolutionChange (GameObject menu) 
{  
     GameObject blank = GameObject.Find ("BlankScreen"); 

     blank.transform.position = new Vector3 (0, 0, 100); 
     Application.LoadLevel (0); 
     Screen.SetResolution (resolutionX, resolutionY, isFullscreen); 
} 
-1

要刷新屏幕使用下面的代碼:

This.refresh();