NGUI-Tweens
Tweens(补间动画)
补间动画有很多种:

这里以Tween Height为例:
项目层次:

btn为一个按钮,group为一组图片精灵,预览图如下:

第一步:先为每个item附加一个Tween Height脚本,设置如下:

form表示起始的高度,to表示最终高度,play style表示播放类型:once只播放一次,loop循环播放,ping pong也是循环播放,不过两个肯定是有区别的,区别就在于:
假如对象的Tween Height脚本的from到to设置的值为(20~60),那么loop循环播放就是当对象的高度从20变到60,这个过程是缓慢变化的,而当进入第二次循环的时候,对象会立马变为20的高度,而看不到60变为20的过程,而ping pong则能看到,效果图,分别如下:

Animation Curve 动画曲线:用来与微调这两个值的变化过程,后面会举例说下他的作用
Duration:播放动画的时间
Start Delay:延迟时间
tween group:可以控制在同一个对象上的多个tween触发。播放时指定group ID,,后面也会举例说下他的作用
ingnore timescale:忽略timescale
On finished:播放完成后执行哪些事件
这里的三个item的finished的Notify分别设置成下一个的item即可,
当然每个item的Tween Height是不需要勾选的,是通过On Finished来触发下一个item的,而第一个则是通过btn的onclick函数来调用的!
ResetToBeginning:表示手动复位Tweener至开始状态,如果补间动画是forward的,这意味着补间动画的开始,如果补间动画正在reverse,这意味着补间动画的结束。PlayForward:表示播放补间动画(Play已被playforward取代,看UITweener这个补间动画的父类就知道了,但playforward内部还是通过play来实现的)
还有其他方法,您可以查看UITweener类来了解一下
ResetToBeginning和PlayForward的方法是根据Notify对象附加的脚本来查找的,是此脚本中的方法或者是继承的,并且是公共的!
第二步:设置btn的onclick如下(但是先必须绑定第一个执行的方法是ResetToBeginning,不然无法实现还原状态):

最终效果:

Animation Curve 动画曲线

可以看出动画曲线默认的x与y轴方向是从0.0到1.0的,x轴表示时间比,y轴表示高度比,仅对当前的Tween Height而言,这个固定点位置分别是0.0和1.0,不可以再增加固定点,但是可以增加key,双击动画曲线或者在动画曲线上右击可以增加key,key的作用就是设置这一秒对象的高度和变化效果,也可以设置此key左边和右边曲线的状态,下面展示通过增加key改变曲线来达到不同的效果
左边是增加key来改变曲线的状态,右边是默认曲线的状态

与上面的曲线图对应的效果图:

看下图,可以看出可以设置此时key的效果,有free smooth(自由光滑),flat(水平的),broken(断续的),同时也可以设置左边,右边或者两边的切线效果,有free(自由),linner(线性的),constant(恒定的)

可以直接用tween的Begin()函数来创建tween:
TweenPosition.Begin(tweenGameObject, duration, targetPosition);
如果你想使用高度补间动画,那你就要用TweenHeight.Begin (UIWidget widget, float duration, int height)
tween group 补间动画组别设置
假如现在给item1和item2的Tween Height的Tween Group设置为1,而item3还是默认为0
并且所有item的OnFinished不附加任何对象,为None
为btn附加UIPlay Tween脚本

此时Tween Group设置为2,其他的选项没什么好说的,直接看效果图,可以看出只有item1和item2动了,而item3没,达到了我们想要的效果

利用Tween Scale实现类似抖屏效果:
曲线图:

效果图:

NGUI-Tweens的更多相关文章
- NGUI全面实践教程(大学霸内部资料)
NGUI全面实践教程(大学霸内部资料) 试读文档下载地址:链接:http://pan.baidu.com/s/1jGosC9g 密码:8jq5 介绍:NGUI全面实践教程(大学霸内部资料)本书是国 ...
- NGUI学习笔记(一)UILabel介绍
来个前言: 作为一个U3D程序员,自然要写一写U3D相关的内容了.想来想去还是从UI开始搞起,可能这也是最直观同时也最重要的部分之一了.U3D自带的UI系统,也许略坑,也没有太多介绍的价值,那么从今天 ...
- NGUI裁剪模型和粒子
效果预览 注:Cube上附着的绿色是我添加的粒子效果. 软件环境 NGUI 3.9.x Unity 5.1 x64 相关知识 RenderTexture RenderTexture是一种特殊的纹理,它 ...
- Unity NGUI添加UIRoot
导入NGUI包后,菜单多出一个选项 "NGUI",选择其子选项 "options" -- "Reset Prefab ToolBar" ,在 ...
- NGUI之UIRoot——屏幕的自适应分辨率的计算
//原来写在其他博客上的东西,搬迁 预备知识: 要明确的三个概念: 设计分辨率:在编辑器上开发UI使用的分辨率.我们所有的UI都是在这个分辨率下设计制作的. 显示区域分辨率:设备上所显示的UI区域在编 ...
- Shader实例:NGUI制作网格样式血条
效果: 思路: 1.算出正确的uv去采样过滤图,上一篇文章说的很明白了.Shader实例:NGUI图集中的UISprite正确使用Shader的方法 2.用当前血量占总血量的百分比来设置shader中 ...
- Shader实例:NGUI图集中的UISprite正确使用Shader的方法
效果: 变灰,过滤,流光 都是UI上常用效果. 比如: 1.按钮禁用时,变灰. 2.一张Icon要应付圆形背景框,又要应付矩形背景框.就要使用过滤的方式来裁剪. 避免了美术提供两张icon的麻烦,又节 ...
- NGUI 指定视口大小
由于只是给Uinty开发插件,对Unity没有系统的学习,对Unity的很多功能都不是非常了解,幸得其他Unity同事的耐心教导,才不至于想崩头.记录一下,避免重复犯错. NGUI可以建立指定视口大小 ...
- 跟我从零基础学习Unity3D开发--NGUI入门基础
英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什 ...
- NGUI 滑动特效之中间放大滚动
效果图如下: 其实很简单,在NGUI原有的滑动组件的基础上处理一下比例系数就好,每个块的位置是固定的,移动的是Panel. 所以呢用Panel的位置与块的位置做差在比几个块不就成了比例系数了么..自然 ...
随机推荐
- hdu-1892 See you~---二维树状数组运用
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 题目大意: 题目大意:有很多方格,每个方格对应的坐标为(I,J),刚开始时每个格子里有1本书, ...
- segment and section for c++ elf
http://blog.csdn.net/jiafu1115/article/details/12992497 写一个汇编程序保存成文本文件max.s. 汇编器读取这个文本文件转换成目标文件max.o ...
- 2019.03.13 ZJOI2019模拟赛 解题报告
得分: \(55+12+10=77\)(\(T1\)误认为有可二分性,\(T2\)不小心把\(n\)开了\(char\),\(T3\)直接\(puts("0")\)水\(10\)分 ...
- 模拟水题,查看二维数组是否有一列都为1(POJ2864)
题目链接:http://poj.org/problem?id=2864 题意:参照题目 哈哈哈,这个题discuss有翻译哦.水到我不想交了. #include <cstdio> #inc ...
- 问题 B: C++习题 对象数组输入与输出
题目描述 建立一个对象数组,内放n(n<10)个学生的数据(学号.成绩),用指针指向数组首元素,输出第奇数(1,3,5,7)个学生的数据. 输入 n和n个学生的学号.成绩 输出 奇数学生的数据 ...
- 【Oracle-DBA】Oracle连接非常慢APPARENT DEADLOCK
我是一名软件包工头,哪里有问题就干哪里. 这次是 Oracle 出毛病了,我就临时兼了DBA的职,没办法,谁叫我是工头呢.打开百度就开干. 这次关键词是:APPARENT DEADLOCK!!! 丫的 ...
- caffe新版本的各种软件
系统重装了,于是,我想装就体验一下最新的各种东西吧. anaconda最新的 cuda最新的 cudnn最新的 本来安装好了没问题.caffe编译也通过了.但是不能用,缺少python opencv和 ...
- 学习vue-cli3的项目搭建
安装 关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall ...
- C/C++程序基础 (十)模板和泛型
什么是泛型编程 基于模板,有效将算法和数据结构分离. 模板 包括类型和参数 模板函数:抽象的函数定义,代表一类同构函数.编译器在其调用位置自动完成对应模板函数的实例化. 模板类:抽象的类定义,代表更高 ...
- springBoot支持PageHelp插件使用学习笔记
首先在springboot项目的maven中加入依赖(版本可能需要自己选择合适的) <dependency> <groupId>com.github.pagehelper< ...