向原创致敬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
- 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) 来动态的保持层一致性。
You can't place widgets on a layer different than the UIPanel that manages them.
时间: 2024-10-12 22:38:50