Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 我可以使网格布局组的子级不遵循层次结构吗?(团结)_Unity3d_Game Development - Fatal编程技术网

Unity3d 我可以使网格布局组的子级不遵循层次结构吗?(团结)

Unity3d 我可以使网格布局组的子级不遵循层次结构吗?(团结),unity3d,game-development,Unity3d,Game Development,可能是个愚蠢的问题,但无论如何:我的库存(Unity 2D 2020)有一个网格布局,我希望这样,当我拿起一个物品时,库存会按照游戏对象激活的顺序显示物品。目前,如果我有一个层次顺序为苹果、橙子和柠檬的库存,它看起来是这样的: 苹果、桔子、柠檬 如果我没有更多的橙子,它看起来是这样的: 苹果|柠檬 但如果以后再摘一个橘子,它会把柠檬推到第三位,橘子会回到第二位而不是第三位 有没有办法使网格布局遵循项目激活的顺序 我希望这是清楚的-我不擅长解释事情,对不起 谢谢大家! 据我所知,您希望通过对首先获

可能是个愚蠢的问题,但无论如何:我的库存(Unity 2D 2020)有一个网格布局,我希望这样,当我拿起一个物品时,库存会按照游戏对象激活的顺序显示物品。目前,如果我有一个层次顺序为苹果、橙子和柠檬的库存,它看起来是这样的:

苹果、桔子、柠檬

如果我没有更多的橙子,它看起来是这样的:

苹果|柠檬

但如果以后再摘一个橘子,它会把柠檬推到第三位,橘子会回到第二位而不是第三位

有没有办法使网格布局遵循项目激活的顺序

我希望这是清楚的-我不擅长解释事情,对不起


谢谢大家!

据我所知,您希望通过对首先获得的项目进行排序来创建库存

在UI设置中,您可以使用父级
游戏对象
,让我们称之为“面板”,使用
网格布局组
组件并对其进行预制。还可以制作另一个父对象的子对象
GameObject
,称之为“容器”,并将其预制。最后,你应该准备好苹果、橘子和柠檬的预制件

面板将始终在层次结构中,但当您有新项目时,您将实例化每个容器,例如,如果您得到Apple,您将在面板内实例化Apple容器。检查您是否已经实例化了apple容器,如果没有,只需添加apple gameobject即可。对其他项目也要这样做。实例化的容器将始终是UI中的下一个容器

分享一些我做的UI设置图片。(这只是为了让你明白)

用户界面设置,显示面板和容器

面板组件配置

容器组件配置

输出窗口


如果您需要更多帮助,请告诉我。

您可以显示UI吗?层次结构呢?只需对激活的元素使用Transform.SetAsLastSibling(),元素就会排到最后一位。