NGUI
做UI的框架,第三方插件
基础组件简介
1.Widget相当于unity中的空物体
2.Anchor锚点(用于做UI自适应)
3.Panel画布
4.ScrollView可滑动区域
5.Grid排版控制行列间距等
屏幕自适应:大小自适应UIRoot缩放模式实现,位置自适应锚点实现。
Collider需要交互的UI都要加Collider
Botton按钮
Toggle拖拽框
Solider滚动条
Tween动画相关
AtlasMaker图集制作器
FontMaker字体制作器
UI Root
UIRoot用于缩放UI
ScalingStyle缩放模式:来进行UI大小的自适应Flexible大小不变,Constrained进行大小自适应,ConstrainedOnMobiles只在移动端进行大小自适应.
使用自适应可以在不同分辨率下,UI的相对大小保持不变.
UICamera用于事件监测
让带有这个组件的摄像机渲染出来的物体能够接受NGUI事件
EventMask:事件层遮罩。用来管理相应那些层的物体的事件。
UIPanel提供一个画布
在UIPanel中我们不能将不同的Panel的Depth设置为同一个,否则会出现警告.
Alpha控制透明度
Depth控制深度
Clipping剪辑窗口
RenderQ渲染顺序
UISprite先将将图片加载成图集
先选择Atlas在选择其中的Sprite
1.图片模式Type:在有背景框需要拉伸的时候选择Sliced,Tiled将以原图片的大小填满整个Sprite,Filed可以实现技能冷却
2.Filp:来实现反转
3.Widget:中心点,Depth深度值越大能覆盖后面的,Size图片大小,Aspect宽高比例.
4.Anchors:锚点选择Unified,如果我们的UI在某一个遍或者角,我们锚点不能设置4个方向,在中间的将锚点设置为中间
5.depth:深度值不能相同,UIPanel深度值优先于元素的深度值
UILabel
Overflow字的填充方式
Alignment填充方式
Gradient颜色梯度
Effect字体效果
Spacing间距
UIToggle
StartingState初始状态
Group值的Toggle组,来控制一组Toggle
UISlider
Value:设置起始进度百分比
Alpha:控件的透明度
Steps:进度条平均分割的块数
Foreground:进度条设置
Background:背景色设置
Thumb:拖动拇指块设置
Direction:进度条方向
Notify:进度百分比提示,需要绑定一个label
UIScrollView
ContentOrigin:控制panle相对ScrollView的位置
Movement:控制Scrollview滑动的方向
DragEffect:拖动效果
ScrollWheelFactor:鼠标滑轮滚动速度MomentumAmount:滑动后自动滑行距离
RestrictWithinPanel:控制panel会不会画出ScrollView
UIPopupList
Options:设置下拉列表中的元素
Default:默认显示的值
Position:列表显示位置
OnValueChange:用于绑定Label,显示当前的选择值。
Tween动画
UIPlayTween:控制的物体含有两个以上Tween动画的使用使用,或者要控制多个动画中的一部分的时候使用.
AltasMaker打图集
将单个图片制作成一个Altas图集
通常我们将生成的图集(Advanced中)取消勾选GenerateMipMap,来减少图集大小.
FontMaker打字体
将ttf格式的资源拖入Unity,用FontMaker打开
Type:BitMap只能生成预先选择好的字要预先选择size大小,Dynamic可以动态生成.
UISprite
sp = gameObject.GetComponent<UISprite>();
//设置图集
sp.atlas = atlas;
//修改图片
sp.spriteName = "back";
//设置图片填充模式
sp.type = UIBasicSprite.Type.Filled;
sp.fillDirection = UIBasicSprite.FillDirection.Horizontal;
sp.fillAmount = 0.5f;
//设置图片颜色
sp.color = Color.red;
UILabel
uILabel = GetComponent<UILabel>();
uILabel.text = "Who is your daddy??";
uILabel.fontSize = 60;
uILabel.effectStyle = UILabel.Effect.Shadow;
通过委托事件在NGUI中给Texture添加点击事件
使用UIEventListener的静态方法Get()进行事件的绑定
/// <summary>
/// Get or add an event listener to the specified game object.
/// </summary>
static public UIEventListener Get (GameObject go)
{
UIEventListener listener = go.GetComponent<UIEventListener>();
if (listener == null) listener = go.AddComponent<UIEventListener>();
return listener;
}
UIEventListener.Get(btnStop).onClick = stopVideo;
给Slider添加OnValueChange的事件
uISlider.onChange.Add(new EventDelegate(silderChange));
onChange在UISlider的父类UIProgressBar中
public List<EventDelegate> onChange = new List<EventDelegate>();
UGUI
Unity官方内置的UI框架