【问题标题】:Unity (C#) - Canvas Scaler resizes Canvas but grid layout elements inside don'tUnity (C#) - Canvas Scaler 调整 Canvas 的大小,但内部的网格布局元素不会
【发布时间】:2017-04-19 18:28:17
【问题描述】:

好吧,所以标题有点难以理解,所以让我解释一下。

我有一个库存画布,里面有一个库存面板。里面有一个插槽面板,它附加了一个网格布局组,因此插槽间隔很好。游戏开始时,插槽面板会填充插槽。如果用户拿起一个项目,该插槽将被一个项目填充。 Slot 和 Item 是预制件。

我希望库存随屏幕尺寸缩放,因此我更改了 Canvas Scaler 并将其设置为随屏幕尺寸缩放,将参考分辨率设置为 1280x720(因为它非常适合我已有的尺寸)并设置匹配宽度或高度。

以下是一些结果图片:

参考分辨率 (1280x720):

这看起来不错,正是它应该的样子。

尺寸小于参考尺寸 (800x600):

尺寸大于参考尺寸 (1600x900):

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

谢谢!

【问题讨论】:

  • 有人吗?我真的坚持这个
  • 您可以将Aspect Ratio Fitter 添加到所需的GameObject,这样它将保持一定的比例,相对于画布,文档的here

标签: c# unity3d


【解决方案1】:

正如@Hristo 在 cmets 部分所说,

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多