DoTween的小技巧
2015-08-11 11:39
489 查看
我们的项目里使用了DoTween做缓动。其实DoTween的文档很清晰,国内也有一部分文章,下面列出我遇到的一些DoTween的小技巧。作为自己的一个记录。
From()
一些时候我们需要从某个状态缓动到当前状态,而不是缓动到指定的状态。官方的解决方案是在缓动的扩展方法后面加From()。对于任何缓动都适用。比如官方的
表示用1秒时间从2,3,4位置缓动到当前位置。
缓动的循环
假如一段循环需要不停的播放,不需要写OnComplete,只需要调用SetLoops方法,设置缓动重复播放的方式,假如我有一个Image,他的fillAmount需要从0到1再到0,以此往复,我只要像下面那样设置
tween.SetLoops(-1,LoopType.Yoyo)
-1表示一直循环,LoopType是缓动循环的类型,默认是Restart,在上面的例子里用Restart的话fillAmount就会变成0-1,0-1……这样循环,还有一种Incremental,会把开始值和结束值的差加到结束值上,在上面的例子里就会变成0-1,1-2,2-3……(这个例子用Incremental是不成立的,fillAmount最大是1)
其他的还会继续补充
From()
一些时候我们需要从某个状态缓动到当前状态,而不是缓动到指定的状态。官方的解决方案是在缓动的扩展方法后面加From()。对于任何缓动都适用。比如官方的
示例
transform.DOMove(new Vector3(2,3,4), 1).From();
表示用1秒时间从2,3,4位置缓动到当前位置。
使用的时候得注意一点,官方强调,当你写下这行代码的时候,对象会立马跳到指定的位置,而不是开始缓动的时候。
缓动的循环
假如一段循环需要不停的播放,不需要写OnComplete,只需要调用SetLoops方法,设置缓动重复播放的方式,假如我有一个Image,他的fillAmount需要从0到1再到0,以此往复,我只要像下面那样设置
tween.SetLoops(-1,LoopType.Yoyo)
-1表示一直循环,LoopType是缓动循环的类型,默认是Restart,在上面的例子里用Restart的话fillAmount就会变成0-1,0-1……这样循环,还有一种Incremental,会把开始值和结束值的差加到结束值上,在上面的例子里就会变成0-1,1-2,2-3……(这个例子用Incremental是不成立的,fillAmount最大是1)
其他的还会继续补充
相关文章推荐
- Kinect结合Unity3D引擎开发体感游戏(一)
- Unity3D中脚本的执行顺序和编译顺序
- Unity3D动态对象优化代码分享
- 缓动函数requestAnimationFrame 更好的实现浏览器经动画
- unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk)
- Unity3D游戏引擎实现在Android中打开WebView的实例
- unity3d调用手机或电脑摄像头
- 分享一个开源的网络游戏服务器架构—HouHai
- Unity3D插件详细评测及教学下载
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- Unity3d TransformPoint 函数研究
- Unity3d 动态加载fbx模型文件