如何使用按钮 Unity 制作“滚动系统”?

问题描述 投票:0回答:1

标题有点不清楚所以这里有一个详细的说明: 我想在手机游戏中开一家商店。当您单击打开商店的按钮时,会显示不同的项目类型(垂直排序),但是有很多元素,例如一种项目类型将它们显示在一行中(水平排序)。所以我认为你可以通过添加一个像这样工作的“滚动系统”来解决这个问题: 您单击一个按钮,然后显示之前无法显示的元素。您还会看到之前显示的元素之一,以便您看到行循环的方向。它可以是平滑的运动或瞬间。

以下是使实施起来不那么容易的条件:

  • 当您购买商品时,它应该从商店中消失。
  • 当你结束时,应该会出现一个按钮,让你循环回到之前的项目。
  • 最多需要支持8个元素

Here a picture of how I imagine the shop:

我想我可以使用 Scroll 矩形,禁用滚动并根据您单击按钮的次数更改 horizontalNormalizedPosition。我还没有尝试过,但我想如果我有 6 个元素并且每次我单击按钮以显示我添加的其他元素,假设 0.2f 到 horizontalNormalizedPosition 我买了一个项目(所以它被删除),0.2不会再工作了,因为可以显示一些其他元素,或类似的东西。因此,您需要跟踪元素的数量并根据元素数量及其大小更改值。

但是有没有更简单的解决办法,或者解决问题的办法,让你只需要写代码,不用加scroll rect?

谢谢

unity3d
1个回答
0
投票

也许您可以使用 Mask 组件每次只显示两个商店物品,并根据需要启用和禁用左右滚动按钮。

为此,您需要并排放置三个对象:向左滚动按钮、面板遮罩和向右滚动按钮。 Here 是显示如何设置它的图片链接。

面板遮罩对象必须有Mask组件在里面,所以你可以只显示它的一部分子对象。添加包含商店物品数组的对象作为面板遮罩对象的子对象。当您单击左右按钮时,您会移动商店物品数组的变换位置。

© www.soinside.com 2019 - 2024. All rights reserved.