码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-03-18 17:54:16      阅读:674      评论:0      收藏:0      [点我收藏+]

标签:

向原创致敬http://blog.csdn.net/chenggong2dm/article/details/39341823

 

运行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的源码,是这样写的:

 

[csharp] view plaincopy
  1. public void CheckLayer ()  
  2. {  
  3.     if (panel != null && panel.gameObject.layer != gameObject.layer)  
  4.     {  
  5.         Debug.LogWarning("You can‘t place widgets on a layer different than the UIPanel that manages them.\n" +  
  6.             "If you want to move widgets to a different layer, parent them to a new panel instead.", this);  
  7.         gameObject.layer = panel.gameObject.layer;  
  8.     }  
  9. }  


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

 

 

解决办法

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

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

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

标签:

原文地址:http://www.cnblogs.com/lindan929/p/4347631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!