我有以下代码,具体取决于用户显示器的分辨率:
void OnGUI()
{
GUI.Label(new Rect(432, 525, 9000, 9000), ("Hello!"));
}
当然,文本的位置会在具有不同分辨率的设备中发生变化。如何使文本独立于Unity中的屏幕分辨率?
答案 0 :(得分:2)
考虑使用Unitys新的GUI系统。这允许您在编辑器中设计UI。您可以以屏幕分辨率独立的方式将文本标签锚定到屏幕,并且可以配置字体大小以自动适应该文本标签内的可用空间。
答案 1 :(得分:1)
我有解决这个问题的方法。想法是以百分比而不是硬编码坐标来分配位置。
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!"));