【发布时间】:2017-01-23 22:05:14
【问题描述】:
我正在尝试为 Unity 中的 CellSize 解决一些问题。 这是针对 GridLayoutGroup 组件的。我发现使用计算器完成后效果非常好:Screen.Width/1280、Screen.Height/720。 因为我使用 720p 作为基本分辨率,并且在那里一切看起来都很好,所以我使用它作为基本分辨率。 100x100 看起来非常适合 720p 上的单元格大小。
例如它们的分辨率是 1280:1024 它应该出来 (100, 142) 但是它总是出来 (1.0, 1.0)。 如果分辨率很小……比如 320x200,它会出现 (0.0, 0.0)。
这是我的代码:
SlotPanel.GetComponent<GridLayoutGroup>().cellSize = new Vector2((Cam.pixelWidth / 1280) * 100, (Cam.pixelHeight / 720) * 100);
Cam 是玩家使用的相机。 我尝试的另一个代码是:
SlotPanel.GetComponenet<GridLayoutGroup>().cellSize = new Vector2((Screen.Width / 1280) * 100, (Screen.Height / 720) * 100);
两者都会导致相同的问题。在这一点上,我对自己的愤怒感到无语。我不明白为什么数学是正确的,但它不正确。
【问题讨论】:
-
尝试 1280.0, 100.0 代替
-
@doctorlove 实际上
1280f(或1280.0f)和720f(720.0f)在这种情况下,因为您需要Vector2的单精度(请参阅下面的第一条评论回答) .