我設法讓我的遊戲在運行時/在遊戲中(在初始選擇之後)改變它的分辨率。但是我注意到,當從1920x1080開始說800x600時,我在前面的圖像/內容的邊上獲得了邊框。如何在屏幕分辨率更改後刷新屏幕?
例如,我的菜單顯示在最右側,當縮小到800x600時,最右側的菜單保持不變,但不可互動(它只是一個圖像),而「實際菜單」是幾百像素往左邊。
我在問的是,有什麼辦法可以讓我的遊戲雙方在有人改變分辨率時變成黑色?如果它可以幫助,我可以提供關於我的內容的圖像:)
我設法讓我的遊戲在運行時/在遊戲中(在初始選擇之後)改變它的分辨率。但是我注意到,當從1920x1080開始說800x600時,我在前面的圖像/內容的邊上獲得了邊框。如何在屏幕分辨率更改後刷新屏幕?
例如,我的菜單顯示在最右側,當縮小到800x600時,最右側的菜單保持不變,但不可互動(它只是一個圖像),而「實際菜單」是幾百像素往左邊。
我在問的是,有什麼辦法可以讓我的遊戲雙方在有人改變分辨率時變成黑色?如果它可以幫助,我可以提供關於我的內容的圖像:)
解決了它。由於某種原因,我最初嘗試用黑色四分屏簡單地「重置」屏幕失敗。但再次嘗試後,這似乎奏效。
通過創建一個四邊形(或紋理)並將顏色設置爲黑色(或任何其他希望設置屏幕的顏色)並將其移出,當調用屏幕分辨率時,我只需簡單地將位置紋理/四合一覆蓋畫布/屏幕,然後重新加載關卡,並將分辨率設置爲新選擇的分辨率,然後重新載入我的菜單。下面的代碼顯示,以防其他人遇到同樣的問題。
這似乎工作得很好,並且可以重複用戶想要的很多次。
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);
}
要刷新屏幕使用下面的代碼:
This.refresh();