NGUI发布后UI层看不见的解决办法

时间:2021-06-01 20:52:28

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层保持一致;