2017-04-19 181 views
1

好,所以标题有点难以理解,所以让我解释一下。Unity(C#) - 画布缩放器调整大小画布但网格布局元素不在

我有一个库存画布,里面有一个库存面板。里面有一个插槽面板,它有一个网格布局组连接,所以插槽间隔很好。当游戏开始时,插槽面板会插入插槽。如果用户拿起物品,则该物品将被填充。插槽和项目是预制。

我想让库存与屏幕尺寸一起缩放,所以我更改了画布缩放器并将其设置为与屏幕尺寸成比例,将参考分辨率设置为1280x720(因为它非常适合我已有的尺寸)并设置匹配宽度或高度。

下面是结果的一些图片:

在基准分辨率(1280×720):

At 1280x720

这看起来不错,是完全应该的。

在比基准更小的尺寸(800×600):

At 800x600

在比基准更大的尺寸(1600×900):

At 1600x900

如何允许网格布局组保持一致的间距,但相应调整插槽的大小,以便更改分辨率将使屏幕空间保持一定的百分比。

谢谢!

+0

有人吗?我真的坚持这 –

+1

你可以添加一个'长宽比Fitter'到所需的'GameObject',这样它将保持一定的比例,相对于画布,doc的[这里](https://docs.unity3d.com /Manual/script-AspectRatioFitter.html)。 – Hristo

回答

1

由于@Hristo在评论区说,

添加Aspect Ratio Fitter组件canvas对象的第一级子。它会解决问题。