我正在尝试为Unity中的CellSize制定一些东西.这适用于GridLayoutGroup组件.我发现用计算器完成的工作完全正常:Screen.Width/1280,Screen.Height/720.由于我使用720p作为基本分辨率,一切看起来很好,我用它作为基础.对于720p的单元尺寸,100x100看起来很棒.
例如,他们的分辨率是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);
Run Code Online (Sandbox Code Playgroud)
Cam是玩家使用的相机.我尝试的另一个代码是:
SlotPanel.GetComponenet<GridLayoutGroup>().cellSize = new Vector2((Screen.Width / 1280) * 100, (Screen.Height / 720) * 100);
Run Code Online (Sandbox Code Playgroud)
两者都会导致同样的问题.在这一点上,我对自己的生气感到失望.我不明白为什么数学是正确的,但它不能正常工作.