前言:

属性值的改变能够通过一个动画来控制,缓冲曲线属性影响了一个属性值改变的插值算法。在已经定义的动画都使用了一种线性的插值算法,因为一个动画的默认缓冲类型是Easing.Linear。在一个小场景下的x轴与y轴坐标改变可以得到最好
的视觉效果。一个线性插值算法将会在动画开始时使用from的值到动画结束时使用的to值绘制一条直线,所以缓冲类型定义了曲线的变化情况。

代码实例:

// M1>>
// easingtypes.qmlimport QtQuick 2.0DarkSquare {id: rootwidth: 600height: 340// A list of easing typesproperty variant easings : ["Linear", "InQuad", "OutQuad", "InOutQuad","InCubic", "InSine", "InCirc", "InElastic","InBack", "InBounce" ]Grid {id: containeranchors.top: parent.topanchors.horizontalCenter: parent.horizontalCenteranchors.margins: 16height: 200columns: 5spacing: 16// iterates over the 'easings' listRepeater { //设置Repeater的模型model: easingsClickableImageV3 {framed: true// the current data entry from 'easings' listtext: modelDatasource: "curves/" + modelData + ".png"onClicked: {// set the easing type on the animationanim.easing.type = modelData// restart the animationanim.restart()}}}}// The square to be animatedGreenSquare {id: squarex: 40; y: 260}// The animation to test the easing typesNumberAnimation {id: animtarget: squarefrom: 40; to: root.width - 40 - square.widthproperties: "x"duration: 2000}
}
// <<M1

注意:

除了duration属性与easing.type属性,也可以对动画进行微调。例如PropertyAnimation属性,大多数动画都支持附加的easing.amplitude(缓冲振幅) ,easing.overshoot(缓冲溢出) ,easing.period(缓冲周期) ,这些属性允许你对个别的缓冲曲线进行微调。不是所有的缓冲曲线都支持这些参数。可以查看Qt PropertyAnimation文档中的缓冲列表(easing table) 来查看一个缓冲曲线的相关参数。

QML进阶教程:二、缓冲曲线(Easing Curves)相关推荐

  1. QML系列教程(7)-缓冲曲线easing+平抛运动+反弹运动

    缓冲曲线的作用是,控制数值变化过程中的速度. 例如,同样是让一个方块的x坐标从0移动到100,我们可以让他: 匀速运动过去,或者 先快后慢运动过去,或者 先慢后快的运动过去 ...等等任意的速度曲线 ...

  2. html菜单wodpress,wordpress进阶教程(二十二):初步了解菜单

    这篇教程放到本站的进阶教程中来,其实有点不合适,但是我发现很多人对菜单使用不熟,更别提应用了.所以我觉得在写菜单的高级应用之前有必要重新写个基础篇. wordpress 3.5版本中,取消了友情链接项 ...

  3. QML进阶教程:五、模型-视图-代理(MVD)

    前言: 在编程实践中,我们经常会有意无意的运用MVC模式(模型(Model).视图(View)和控制器(Controller)),而在QtQuick中,数据通过model-view(模型-视图) 分离 ...

  4. QML缓冲曲线(Easing Curves)

    目录 一 QML介绍 二 QML的使用场合 三 实例演示 一 QML介绍 QML是Qt Quick的缩写,它是一种新型的.面向对象的.跨平台的脚本语言,可以用来描述用户界面或应用程序的交互逻辑.QML ...

  5. NSIS进阶教程(一)~(五)

    这问是在学NSIS的时候发现的,一篇绝顶好文,当时没转过来,现在美化完程序了,想着不美化安装包也太不厚道了点...所以... NSIS进阶教程(一) 来自: http://www.pylife.net ...

  6. Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库

    [homebrew 系列文章] HomeBrew常规使用教程 Homebrew进阶使用教程(一) Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库 Homebrew进阶使用教程 ...

  7. unity中的缓动插值曲线,Easing Curves的那些事

    这个地址是一个可以查看各种插值效果的 flash demo http://robertpenner.com/easing/easing_demo.html 现在浏览器都不支持flash插件了,补个图吧 ...

  8. MATLAB进阶教程第一节(图形绘制)

    本节是matlab进阶教程的第一节,头一次看的小白请先看完我的matlab入门基础,方便消化,对那些急需图形绘制的朋友将会有很大帮助! 一.二维图形的绘制 1.1plot函数 形式:plot(X,Y, ...

  9. javascript进阶教程第一章案例实战

    javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了"删除& ...

最新文章

  1. 全国志愿信息服务器,全国志愿者服务信息系统官网登录,2020全国志愿者服务信息系统官网登录注册入口预约 v1.0-手游汇...
  2. java 数组 题_(第22讲)java数组的一些编程题
  3. hoj 1067 Rails //poj1363 Rails 栈的简单应用
  4. intellij idea 2018 license 可用无废话
  5. oracle两个表合并 sql,如何创建从两个表(Oracle DBMS)生成“合并”数据集的Select SQL语句?...
  6. VC使用sqlite
  7. ajax 传输中文乱码,关于Ajax请求中传输中文乱码问题的解决方案
  8. 实战:通过组策略为用户部署软件
  9. 如何系统地学习数据挖掘
  10. VBA字典做数据有效性
  11. 华为手机序列号前三位_华为手机SN码里隐藏的秘密,选购手机必备冷知识!
  12. Android系统之路(初识MTK) ------ make update-api长按Power键添加Reboot项/内置默认Ringtone/SMS/Notification/Alarm删除系统铃声
  13. js 事件回调函数的对象属性说明:clientX、screenX、offsetX、pageX
  14. Texture tiling
  15. iOS-不用网线搭建IPv6网络测试环境
  16. OpenStack新版UI管理skyline
  17. 图片编辑工具哪个好?好用的图片编辑工具介绍
  18. python爬取整个网站的广告敏感词_Python实现敏感词过滤的4种方法
  19. Prometheus 监控基础
  20. 6.2 基础有大用——《逆袭大学》连载

热门文章

  1. http://www.cnblogs.com/hoojo/archive/2011/06/08/2075201.html
  2. win7关闭开机启动项_win7系统如何查看注册表启动项 win7系统查看注册表启动项方法【介绍】...
  3. postman 导出excel
  4. linux开机启动脚本
  5. 火影推荐程序连载52-什么是Serilog?
  6. 学习日志框架之——搞懂logback
  7. 伺服调试的一些应用总结
  8. 本易计算机不开机了,求问本易平板电脑电池可以卸下吗?
  9. 青岛海尔:从家电“造风者”到智慧家庭“造风者”
  10. 后书《乡村振兴战略下传统村落文化旅游设计》,交浅而言深者,愚也