NGUI发布后UI层看不见的解决办法
提示信息:You can'tplace widgets on a layer different than the UIPanel that manages them.
If youwant to move widgets to a different layer, parent them to a new panel instead. 双击进去,是NGUI的一个提示
是因为在Ui的Panel或者Canvas父目录下,程序运行的时候克隆出新游戏物体,但是程序又没有指定和Panel渲染层(Layer)或者Canvas,相一致的Layer值造成的。
并且,在编辑器中程序运行时Ui界面可以显示,但是发布以后,所有的UI全部不显示了。
解决办法:
在你的程序中凡是要往Panel或者Canvas父物体下克隆新游戏物体,也就是往Ui界面层克隆的新物体
请在克隆后,用代码AA.Layer=1;类似代码强制设置Layer和其父物体以及Panel或者Canvas的layer保持一致;
GameObject go=Instantiate(goPrefab,new Vector3(0,1,1),transform.Rotation);
go.layer=5;
新克隆出来的物体,应该和父物体layer层一致,在UI中;以保证发布后界面会正常显示
快捷途径:在克隆之前,直接把预制体的layer层和父物体的layer层保持一致;