首页 > 解决方案 > unity scrollview 继承比例并保持相对于父级的位置

问题描述

我正在尝试向作为滚动视图子项的游戏对象添加一些按钮。child 是一个非常宽的图像,大约是普通屏幕的 4 倍,这就是为什么我让它控制高度,使其始终从上到下,并且只在允许滚动的地方水平执行。

在此处输入图像描述 在这里你可以看到我的设置。

1.是宽幅图像

2.曾经是图像的一部分的横幅,但现在我希望它成为单独的游戏对象。

我不知道如何让横幅 (2) 继承“完整地图”(1) 的行为,现在当我选择自由方面并调整游戏视图大小时,“完整地图”可以很好地缩放,所以它总是适合从上到下。屏幕越窄,地图右侧越多,反之亦然。

然而问题是横幅 (2) 有一个矩形变换,它设置为相对于缩放的父级的 x,y 坐标。因此,当我在视图周围调整大小时,横幅会脱离其预期位置,并且不会随 . 我尝试了许多不同的组件,但没有运气。其中,缩放约束、画布缩放器、位置约束

在此处输入图像描述

正如你在这个 gif 中看到的那样,横幅并没有缩小,随着岛屿变小,它也保持在水平方向的相同位置。

关于如何让孩子们在地图上表现得像他们是地图的一部分的任何建议?

标签: unity3d

解决方案


删除了以前的问题,误解了这个问题。

建议的解决方案:

您从 UI 中移除地图部分并将其创建为对象:您将地图图像作为纹理附加到(即)平面(参见此处的视频)。您将“无限岛”添加为另一个纹理并将其放置在岛图像上。之后,您可以控制相机放大/缩小岛,而无需与任何缩放或移动 UI 作斗争。


推荐阅读