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
看到我的评论和答案。 –