这几天因为正在开发一个小功能,用到的动画效果比较多,于是,学习了下NGUI自己的Tween系列组件。
NGUI自带的Tween组件,目前我使用了如下几种:
(1)TweenScale(用于动画缩放)
(2)TweenPosition(用于动画平移)
(3)TweenRotate(用于动画旋转)
(4)TweenAlpha(用于动画颜色渐变)
目前在一个功能中使用的就是这几个组件。其实,在使用起来大同小异,下面以TweenPosition组件来示例下:
private void PlayTweenPositionAni( GameObject gameObject )
{
TweenPosition tPos = gameObject.getComent<TweenPosition>();
if( null == tPos )
{
tPos = gameObject.addComent<TweenPosition>();
}
tPos.from= Vector3.Zero;
tPos.to= Vector3.One;
tPos.delay= 1.0f;
tPos.duration= 1.0f;
tPos.eventReceiver= Instancegameobject;
tPos.callWhenFinished = "FinishTweenPositionFun";
tPos.enabled= true;
}
private void FinishTweenPositionFun( TweenPosition tPos )
{
Destroy( tPos );
}
以上将进行一个位移动画:首先传入待移动实体对象延时等待一秒后播放一个 从 Vector3.Zero 到 Vector3.One的历经1秒的平移动画效果。