You can't place widgets on a layer different than the UIPanel that manages them.

运行NGUI做的背包的时候,报警告:

"You can't place widgets on a layer different than the UIPanel that manages them."
"If you want to move widgets to a different layer, parent them to a new panel instead."

点开代码看了一下NGUI的源码,是这样写的:

public void CheckLayer ()  
{  
   if (panel != null && panel.gameObject.layer != gameObject.layer)  
   {  
       Debug.LogWarning("You can't place widgets on a layer different than the UIPanel that manages them.\n" +  
           "If you want to move widgets to a different layer, parent them to a new panel instead.", this);  
       gameObject.layer = panel.gameObject.layer;  
   }  
}  

看了一下很简单,就是检查一下层号是否相同,如果不同,报个警告,并强制同层。

解决办法:

1,如果背包里的物品都是预制,那么保证预制的层(Layer),与背包一致。

2,也可以在代码里用 the_gameobj.layer = n ; (n为int)  来动态的保持层一致性。

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment