不知不觉使用NGI插件已经有一段时间了。感觉NGUI真的是眼下Unity3D中最好用的UI插件。
可是它也有一些不是BUG的BUG,这些问题可能会让新人摸不着头脑,那么这篇文章将总结一下这段时间用NGUI的一些开发心得。这些也好几个朋友问题我的一些问题,我将这些东西列出来。 上一章我们学习了 p=821" rel="bookmark">NGUI研究之自制Scroll
View实现触摸滚动相冊效果
1.对图片的限制
假设是移动平台中iPhone 或Android请保持的你的图片尺寸在小于等于1024 X 1024 ,否则加载的图片将无法显示。绘制图片的地方会是一片黑漆漆的东西,PC平台的话图片最大使用的尺寸是4096X4096 。
注意。这还没完、例如以下图所看到的,不管在不论什么平台中请保持你的图片宽或高的尺寸和下图中的一样。比方 32X32 、32X64 、 128 X 32、 1024 X519、 1024 X1024、 512 X 32 像这样和下图所出现的尺寸数值一样的比例才行。
举个样例,比方美术给你出了一张960X640的图片,此时你直接放在程序中,NGUI会自己主动将这张图片拉伸。
所以你须要让美术把这张960X640的图片放在1024X1024 尺寸的图中给你,这样图片就不会拉伸了,例如以下图所看到的。就好像这样。这张图的尺寸是 1024X1024 可是程序中通过精灵分割的仅仅是 960X640这部分,所以这个图就不会在iPhone或Android中拉伸。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/248.png">
接着是材质,对材质着色器的选择也有一点要求.例如以下图所看到的,请选择你的材质着色器为Unlit/Transparent Colored 假设你选择的不是它将会造成你的UI无法显示背景透明的图片喔。
2.精灵预设或者字体预设
在导航栏中创建用NGUI创建一个新UI后。而且在Project视图中已经创建了精灵预设和字体预设后。然后在Panel(面板)中创建新部件时。例如以下图所看到的。点击Atlas 或 Font后假设发现找不到相应的预设。不要紧张事实上非常easy。仅仅需你将Project视图中的精灵或字体预设先拖拽至Hierarchy视图中,此时在又一次点击创建新部件。然后在点击Atlas或Font就会出现你须要的精灵或字体预设。
选择完成再将Hierarchy视图中拖拽的预设删掉就可以。 对于不论什么一个新精灵预设或字体预设都要用一次这个方案。再次使用就不会出现这个问题。
(补充,引用评论中的一句,鼠标在Project视图中点一下就能够 感谢回复~~)
3.在3D世界之上创建你的UI。
比方3D游戏中界面中选择技能、物品、人物状态等的一些UI。
这些UI不会以因主角移动而发生位置的改变,而且永远出如今界面最前面。
例如以下图所看到的。把你游戏世界中原本的摄像机放在UI Root (2D)以下,而且让全部的UI都是这个Camera的子类,这么做是为了解决摄像机发生移动后全部的UI也能和他保持原本的距离关系,至于其他的3D游戏对象请保持与UI Root (2D) 为同级关系就可以。
由于须要显示3D物体,请设置你的摄像机Projection为Perspective。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/512.png">
4.Scroll View列表的显示区域
怎样改动Scroll View列表的显示区域。
这个问题我记得有好几个朋友都问过我。我认为这个问题是NGUI的一个BUG。 可是我们使用第二种方式能够非常好的解决问题。那么和大家说说我的开发心得。
例如以下图所看到的,在这里能够改动ScrollView中总体的显示区域,可是请注意这里紧紧是改动它的显示区域。,由于之前设定在ScrollView中的item的位置是不会由于scrollView显示区域的改动而改动。建议改动ScrolleView显示的宽 和高 在这里改动。可是显示的X Y轴坐标就不要在这里改了。由于改了也没用。
假设你要改动Scroll View显示X Y轴坐标的话,例如以下图所看到的,直接在Hierarchy视图中选择ScrollView显示的父面板对象。然后在Scene视图中更改这个对象的XYZ坐标就可以。这样相应下方全部的ScrollView 的item也会跟着改动。继而达到完美改动NGUI ScrollView的显示区域喔。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/76.png">
最后,这篇文章也没什么代码,只是希望能给一些刚刚入门NGUI的朋友一些帮助。