运行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)  来动态的保持层一致性。


☟☟可点击下方广告支持一下☟☟

最后修改:1970 年 01 月 01 日
请我喝杯可乐,请随意打赏: ☞已打赏列表