Unity NGUI学习笔记(二)NGUI基础功能
- NGUI的根节点为UI Root。所有的物体想要显示在界面上都必须挂在具有UI Panel组件的物体下。
- UI Panel具有深度属性,深度决定了物体显示的层级,类似于z-index。
- NGUI没有节点的概念,创建的物体直接就是Sprite、Label之类的。
- NGUI主相机可以理解为没有Z轴,所以Clear Flags设置为Depth only(仅影响深度)。UI的深度值永远大于其他物体。
- 把UI Root及其子物体的Layer设置为UI层,再把UI相机的Culling Mask设置为只看UI层,然后把其他相机设置为不看UI层。
- UI界面的图标是可以缩小的,在Scene界面的右上角设置。
Atlas图集资源
- NGUI支持图集资源的显示,并提供了图集的制作功能(Atlas Maker)。
- 图集资源能够减少draw call,一个图集理论上只进行一次draw call。
- 图集一般是将同一个场景下或者同一类别的图片放到一起。
Sprite精灵
- 精灵如果需要实现点击效果,需要设置碰撞。【鼠标右键点击精灵-Attach-Box Collider】
- 如果要实现按钮效果,需要先设置碰撞,然后添加按钮脚本。【鼠标右键点击精灵-Attach-Button Script】
- 如果要触发脚本事件,需要给OnClick指定脚本。
- 脚本需要挂在空物体上,Create Empty即可,脚本要继承MonoBehaviour。
- 脚本中可以使用正常的生命周期以及属性,按钮的响应事件只要指定相应的方法即可,此部分使用委托模式自动调用。
上一小段代码:
private void Start()
{
render = cube.GetComponent<Renderer>();
}
public void test()
{
render.material.color = Color.red;
sprite.spriteName = "XXXX图片名称";
sprite.color = Color.red;
}
精灵Sprite的类型:
- Simple:一只普普通通的精灵。
- Sliced:一只被切割的精灵。切割可以保留图片部分位置的精度,一般用于按钮的背景图,这样图片被拉伸以后边缘也不会失真。详细设置需要点击精灵的Edit按钮,设置完以后可以点击下面的返回精灵按钮。
- Tiled:一群被平铺的精灵。
- Filled:一只被填充的精灵。填充的时候可以按照角度和长度填充,可以用来做进度条、时钟、血条之类的东东。
- Advanced:一只很高级的精灵。它可以将精灵切成九宫格,每个格子单独操作。比如手机,把中间部分设置为不显示。
精灵的基本属性: Pivot:内部对齐方式,一般适用于label。 Dimensions:精灵大小,单位为像素。
|