unityui炫酷动画_Unity_UGUI_动画系统

标签:

Unity_UGUI_动画系统

Unity暂时没有单独给UGUI提供动画系统,用官方的动画系统也能做只是比较麻烦,所以我们有很多选择了。

1.修改NGUI的UITweener在用UGUI上,轻量级动画系统。

2.使用第三方插件入iTween,DoTween,HOTween等。

发现DoTween不错,就试试了。

先来看效果图:

这里用到了位置,旋转,缩放,颜色四个最主要的动画效果,暂时简单写一个例子,以便以后使用时查阅。

下载地址和详细使用说明如下。

下载地址:点击打开链接

文档地址:点击打开链接

下载之后复制到工程目录,VS引用DOTween.dll,代码引用using DG.Tweening即可。

dab25e983d7d5e3362c3f1f27a9136b5.gif

using UnityEngine;

using System.Collections;

using UnityEngine.UI;

using DG.Tweening;

public class UIFirstAnima : MonoBehaviour

{

private Tweener m_pos;

private Tweener m_rota;

private Tweener m_scale;

private Tweener m_color;

void Start () {

// 全局初始化

DOTween.Init(true, true, LogBehaviour.ErrorsOnly).SetCapacity(200, 10);

Image image = transform.GetComponent();

// 位置

m_pos = image.rectTransform.DOMove(new Vector3(Screen.width * 0.5f, Screen.height * 0.5f,0), 1f);

m_pos.SetEase(Ease.OutCubic);

m_pos.SetLoops(10,LoopType.Yoyo);

// 旋转

m_rota = image.rectTransform.DORotate(new Vector3(0,180,0), 1);

m_rota.SetEase(Ease.Linear);

m_rota.SetLoops(10, LoopType.Yoyo);

// 缩放

m_scale = image.rectTransform.DOScale(new Vector3(0.6f, 0.6f, 1f), 1);

m_scale.SetEase(Ease.Linear);

m_scale.SetLoops(10, LoopType.Yoyo);

// 颜色

m_color = image.material.DOColor(new Color(0f,1f,1f, 0.7f), 1f);

m_color.SetEase(Ease.Linear);

m_color.SetLoops(10, LoopType.Yoyo);

// 注册开始和结束事件

m_pos.OnStart(AnimaStart);

m_pos.OnComplete(AnimaEnd);

}

private void AnimaStart()

{

Debug.Log("动画开始");

}

private void AnimaEnd()

{

Debug.Log("动画结束");

}

}

标签:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值