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


你可能感兴趣的:(You can't place widgets on a layer different than the UIPanel that manages them.)