Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

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
Sorting 如何以编程方式更改Unity中的排序层?_Sorting_Unity3d_Layer - Fatal编程技术网

Sorting 如何以编程方式更改Unity中的排序层?

Sorting 如何以编程方式更改Unity中的排序层?,sorting,unity3d,layer,Sorting,Unity3d,Layer,我正在做一个2D游戏。我很困惑,因为有两种类型的层。图层和“排序图层”。似乎只有“排序层”才重要 我在每一层上都有许多对象,我想以编程方式设置“排序层”。我试过了 item.layer = LayerMask.NameToLayer("IslandLayer"); 但这只是设置层,而不是“排序层”。有没有办法以编程方式设置“排序层”?您更改的是“其他”,而不是“其他” 排序层在相应的渲染器组件中发生更改,例如通过使用 item.GetComponent().sortingLayerID=So

我正在做一个2D游戏。我很困惑,因为有两种类型的层。图层和“排序图层”。似乎只有“排序层”才重要

我在每一层上都有许多对象,我想以编程方式设置“排序层”。我试过了

item.layer = LayerMask.NameToLayer("IslandLayer");
但这只是设置层,而不是“排序层”。有没有办法以编程方式设置“排序层”?

您更改的是“其他”,而不是“其他”


排序层在相应的
渲染器
组件中发生更改,例如通过使用

item.GetComponent().sortingLayerID=SortingLayer.NameToID(“SortingLayer的名称”);

排序层在.layer中,排序层是不同的类别。对于您的情况,您可以只设置sortingLayer nameGetComponent()。sortingLayer=“sortingLayerName”或者如果您使用Image,则需要使用Canvas对其进行更改。这不需要是
GetComponent()
?@特洛伊木马否。。正如您在链接中所看到的,它是general
Renderer
基类的一个属性。如果您查看的API,您可以看到它列在“继承属性”下)