NGUI显示深度规律:
UIPanel和UIRoot是一个级别,depth(
)相互影响
相同深度的子控件。其他控件都为他俩的子控件。子控件为同一级。相同级别相互影响。
UIPanel和UIRoot影响
所有子控件,子控件无法影响
UIPanel和UIRoot。假如有两个UIPanel控件Panel1和Panel2,他们下边有
许多子控件。假定Panel2的Depth在Panel1上面。无论
Panel1的
子控件的Depth多设置多大,所有的
Panel1的子控件仍然会在Panel2下面,这就是
子控件无法影响
UIPanel或UIRoot。
ngui 所有的控件必须放在挂有UIPanel(可以是根控件或者是子空间)或者UI
root根控件下。
)层相同。
否则NGUI会找不到摄像机而报错
跟随鼠标晃动脚本
效果如下图:
脚本参数:
Degrees:设置移动范围
range:设置移动速度
此脚本只控制相同层(Layer)的相同级或者相同级的子级别的UIPanel或者UIRoot控件。
此脚本实现方法是根据鼠标移动转动摄像机实现UI界面的晃动。
将此脚本挂到UIsprite上面效果如下:
设计方法:
将脚本挂到摄像机上,添加UIPanel到场景。将要控制的物体放到里面。设置相同层。
注意:他只控制相同Layer的
UIPanel或者UIRoot控件。就是说只能在这两个空间下建立子控件
来完成效果。不需要控制的子空间只需要设置不同层即可。
打字效果:
参数
chars per second :打字速度
Fade In Time:淡入时间
delay on period :
delay on new line:
此为3D UI界面
画面旋转切换
效果:
需要NGUI动画脚本和UI向前和向后动画。或者通过tween类(一类变换脚本)的脚本控制物体变换
制作
首先要在要播放的UI控件上添加上面说到的动画如下
动画播放脚本设置:
将上面添加的动画拖入的脚本。
参数说明:
trigger condition
设置的要触发动画的事件
play direction
动画播放的方向
selected object 动画播放模式
if disabled on start 在开始播放动画时,如果挂在动画的控件未激活
if already Playing 动画正在播放
when finished 动画播放完成后
创建如下:
创建3D UI场景
两个Button按钮,如下图
分别添加 两个UIPlay Animation脚本,参数如下
物体旋转组件
rotations per second :转速
物体位移控件
这两项设置位移起始位置
play style
播放模式
Animation Curve :动画曲线
有两个clamp固定点。在他们之间可以添加多个控制点。
水平为移动动画播放时间比例
垂直味移动动画播放效果比例,如果垂直值设置成2,移动动画在位置上是原来的两倍
如下图
duration
: 设置移动动画的持续移动的时间长多
start deleay :移动动画播放的延时时间,即在多少秒后开始播放动画
tween group :移动动画分组
动画播放控制状态切换控件
下图参数功能和上面说的UIPlay Animation一样
tween target :设置挂载的Tween控件的要控制的物体
这是所有tween控件
tween alpha:透明度变换
tween color: 颜色变换
tween field of view 视野变化
tween height 高度变换
tween orthographic size
tween position
位置变换
tween rotation
角度变换
tween scale
缩放变换
tween transform
transform变换(如果需要
position,
rotation,
scale一起变换,使用此控件。使用时,可以创建两个空物体,设置transform,拖到脚本中
)
tween volume 音量变换
tween width 宽度变换
设置都差不多
根据意思设置就行了
以上这些控件我统称为tween变换控件。这些脚本一般需要通过其他脚本控制其播放,NGUI已经给我们提供了,就是上面UIPlay tween(我称为tween控制控件)它集成许多触发事件(单击,双击等等),如果不能满足你的需要,可以自己写控制脚本。
ngui自带UI动画效果
Button
Checkmark
LOGO
Window - Back
Window - Forward
top视图,和上面动画反向