2
我有下面的代碼依賴於用戶的顯示器的分辨率:獨立於Unity中屏幕分辨率的文本?
void OnGUI()
{
GUI.Label(new Rect(432, 525, 9000, 9000), ("Hello!"));
}
和當然,在不同分辨率的設備文本的位置發生變化。如何使文本獨立於Unity中的屏幕分辨率?
我有下面的代碼依賴於用戶的顯示器的分辨率:獨立於Unity中屏幕分辨率的文本?
void OnGUI()
{
GUI.Label(new Rect(432, 525, 9000, 9000), ("Hello!"));
}
和當然,在不同分辨率的設備文本的位置發生變化。如何使文本獨立於Unity中的屏幕分辨率?
考慮使用Unity新的GUI系統。這使您可以在編輯器中設計UI。您可以以獨立於屏幕分辨率的方式將文本標籤錨定到屏幕上,並且可以配置字體大小以自動適應該文本標籤內的可用空間。
我有一個解決此問題的方法。想法是以百分比而不是硬編碼座標來分配位置。
Screen.width
和Screen.height
。在我的情況下,它是 428 x 321
。GUI.Label(new Rect(50, 50, 300, 300), ("Hello!"));
,那麼它將是50.0f/428.0f
寬度百分比和 50.0f/321.0f
高度百分比。GUI.Label(new Rect((50.0f/428.0f) * Screen.width, (50.0f/321.0f) * Screen.height, 300, 300), ("Hello!"));
在新的GUI系統上,我的文本未正確調整。這就是爲什麼我訴諸我的問題中列出的代碼。檢查[this](http://i.imgur.com/RAXrhpu.gif?1)。我也問過關於這個問題[這裏](http://stackoverflow.com/questions/34500532/text-not-adjusting-properly-on-canvas) – FSD
看到我的評論和答案。 –