Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

您现在的位置是:网站首页 -> 前端开发 文章内容

UGUI研究院之界面中使用DoTween-itarticl.cc-IT技术类文章记录&分享

发布时间: 4年前前端开发 164人已围观返回

因为NGUI中已经有UITween了,可是UGUI中是没有这样的Tween的。我看过UGUI的Demo它的实现方式是用Animator来做的,这样每一个需要移动的对象就要挂上一个AmimationController并且还要去编辑动画。。

想想都恐怖,我觉得真没必要那么做。。

我强烈建议新项目使用DoTween。http://dotween.demigiant.com/ 网址要XX,不然打不开。不要紧后面我把下载地址提供出来。 (目前DoTween还是测试版本)DoTween的文档写的非常详细,所以我就简单的只写两句代码,为大家抛砖引玉一下即可。

不得不说的是,因为在做游戏暂停的时候通常会使用Time.Scale = 0

,可是暂停的时候UI如果需要继续有动画怎么办呢?在DoTween中只需要设置 tweener.SetUpdate(true);

即可。意思就是这个Tween是忽略TimeScale,如果不写的话 tweener.SetUpdate 是 false。

using DG.Tweening; //不能少了这个命名空间。

void Start ()

{

//让TimeScale = 0

Time.timeScale = 0;


Image image = transform.Find("Image").GetComponent<Image>();

//调用DOmove方法来让图片移动

Tweener tweener = image.rectTransform.DOMove(Vector3.zero,1f);

//设置这个Tween不受Time.scale影响

tweener.SetUpdate(true);

//设置移动类型

tweener.SetEase(Ease.Linear);

tweener.onComplete = delegate() {

Debug.Log("移动完毕事件");

};

image.material.DOFade(0,1f).onComplete = delegate() {

Debug.Log("褪色完毕事件");

};

}

Tween的移动类型有很多种,比如匀速运动、加速运动、减速运动,等等。如果你拿捏不准你需要用什么移动类形式。

http://www.robertpenner.com/easing/easing_demo.html 你可以在这里预览一下那种移动类型更佳适合你。

代码中我们设置了图片的移动 和 褪色,因为移动的Tween设置了忽略Time.Scale,所以代码中Time.Scale =0时,图片的Tween响应了位移操作,然后褪色的Tween却没有。

最后是DoTween的类库,如果你没有XX就下载我的吧, 是最新的。 欢迎大家在留言处和我一起讨论,加油!Fighting!

http://pan.baidu.com/s/1o6qiefC

发布时间: 4年前前端开发164人已围观返回回到顶端

很赞哦! (1)

文章评论

  • 请先说点什么
    热门评论
    163人参与,2条评论
    97 6月前
    引用 @ 98:
    [/鼓掌][/鼓掌]
    [/微笑][/微笑]
    98 6月前
    [/鼓掌][/鼓掌]

站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流