QML Flipable、Flickable和状态与动画 下篇

本文介绍的是Flickable和状态与动画,我们以前接触过QML相关的内容,那么本文介绍的内容就很明了了。先来看内容。

AD:

Flickable状态动画 下篇是本节要介绍的内容,Flickable和状态与动画 上篇,在这一节中我们再次讲解一下Flickable弹动效果。

二、Flipable翻转效果

    Flipable{  

  •         id:flipable; width:back.width; height:back.height  
  •         property int angle : 0  //翻转角度  
  •         property bool flipped : false //用来标志是否翻转  
  •         front: Image {source:”front.png”}  //指定前面的图片  
  •         back: Image {source:”back.png”}    //指定背面的图片  
  •         transform:Rotation{ //指定原点  
  •             origin.x:flipable.width/2; origin.y:flipable.height/2  
  •             axis.x:0; axis.y:1; axis.z:0 //指定按y轴旋转  
  •             angle:flipable.angle  
  •         }  
  •         states:State{  
  •             name:”back”  //背面的状态  
  •             PropertyChanges {target:flipable; angle:180}  
  •             when:flipable.flipped  
  •         }  
  •         transitions: Transition {  
  •             NumberAnimation{property:”angle”;duration:1000}  
  •         }  
  •         MouseArea{  
  •             anchors.fill:parent  
  •             onClicked:flipable.flipped =!flipable.flipped  
  •             //当鼠标按下时翻转  
  •         }  
  •     }  

运行效果如下:

我们可以看到,使用Flipable时,我们需要设置其前面和后面的图片,并设置背面的状态,然后设置旋转,并为状态改变设置动画就可以了。

通过改变转轴和角度,我们可以使用Flipable设计出很多其他特效。

三、Flickable效果就是你可以拖动它,它会根据你鼠标拖动的速度不同而移动不同的距离,并且这个移动好像有惯性一样,就像你推一下平面上的玩具汽车一样。我们看一个例子。

将程序代码更改如下:

  1. Rectangle{
  2. width:200; height:200
  3. Image{id: picture; source:”01.jpg”}  
  4. contentWidth:picture.width  
  5. contentHeight:picture.height  
  6. }  

这时运行程序,我们拖动整个图片,更改拖动的速度,这种感觉很爽!

我们拖动图片的角落,它会自动弹回去

对于这样一个较大的图片,我们可以使用Flickable效果来查看整张图片。其实到底是否可以移动整个图片,取决于contentWidth和contentHeight的大小。

我们如果将代码改为:contentWidth:100;contentHeight:100

那么图片就无法通过拖动显示全部内容了。

对于QML的核心内容。因为QML Flipable、Flickable状态动画 下篇的内容介绍完了,希望本章内容对你有所帮助,更多内容请参考编辑推荐。

时间: 2024-11-07 21:03:21

QML Flipable、Flickable和状态与动画 下篇的相关文章

QML Flipable、Flickable和状态与动画 上篇

本文介绍的是QML Flipable.Flickable和状态与动画,我们以前接触过QML组件,和一些QML相关的内容,那么本文介绍的内容就很明了了.先来看内容. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 QML Flipable.Flickable和状态与动画是本文要介绍的内容,在接触QML的时候,在前面的例子中我们已经多次提到过状态State了,在这一节中我们再次讲解一下QML中状态和动画的知识,然后讲解两个特效:Flipable翻转效果和Flickable

QQ去除未读状态的动画

QQ去除未读状态的动画 by 伍雪颖 github代码 - (void)drawRect:(CGRect)rect { switch (_state) { case SRSlimeStateNormal: { float percent = 1 - distansBetween(_startPoint , _toPoint) / _viscous; if (percent == 1) { CGContextRef context = UIGraphicsGetCurrentContext();

QML 图像、状态和动画 九

1 渐变 使用Gradient项目来定义.渐变中颜色使用一组GradientStop子项目进行定义. Rectangle{ id:window width:240; height:150 gradient: Gradient{ GradientStop{position:0.0; color:"red"} GradientStop{position:0.33; color:"yellow"} GradientStop{position:1.0; color:&quo

锋利的jQuery-4--停止动画和判断是否处于动画状态(防止动画加入队列过多的办法)

1.停止元素的动画:stop([cleanQueue, gotoEnd]):第一个参数代表是否要清空未执行完的动画队列,第二个参数代表是否直接将正在执行的动画跳转到末状态. 无参数stop():立即停止当前的动画,如果接下来还有动画则以当前状态开始接下来的动画. 举例:为元素绑定hover事件之后,如果光标移入移出的速度太快,导致移入的动画还没执行完,就移出光标,则移出的动画效果就会被放到队列,等移入的动画完成后在执行.因此如果光标的移入移出速度太快,就会导致动画效果与移动光标不一致的情况. 此

Unity3D动画面板编辑器状态属性对照表

不推荐用AnimationUtility.SetEditorCurve问题很多,推荐AnimationCurve.AddKey.通过AnimationUtility.GetAllCurves可以获得编辑器状态的动画属性. GameObject m_IsActive Transform m_LocalPosition.x m_LocalPosition.y m_LocalPosition.z m_LocalScale.x m_LocalScale.y m_LocalScale.z m_LocalR

关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器

对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪些事情,为了解决这个问题,unity允许每个动画单元来绑定一个脚本代码,这个脚本代码必须继承于StateMachineBehaviour;2: 可以在动画状态的Add Behaviour上添加挂载一个脚本到动画状态;3: StateMachineBehaviour主要接口: (1)OnStateEn

QML(十) QML 状态

用户界面用来显示不同场景中的界面,或者是改变它们的外观来相应用户的交互.通常情况下,由一些列变化是并发进行的.Qt帮助中查看QML States关键字.状态属性states. 1 创建状态 要创建一个状态,可以向项目的states属性添加一个State对象,states属性包含了该项目状态的列表. Rectangle{ id:window width:240; height:150 color:"red" MouseArea{ anchors.fill: parent onClicke

从虚幻4动画系统与控制器交互理解数据驱动(一)古老的写法

游戏开发中古老的思想是认为,游戏是程序和数据来构成的,程序加载数据,并根据当前游戏的各种"状态"来调用对应的代码分支,由对应的代码分支来控制数据的使用,重要的数据之一就是动画.具体表现为,在游戏开发中对于动画会大量的使用状态机. 我们先看古老游戏的动画系统,在后面我们在讨论虚幻4的动画-- 一个古老的游戏动画库伪码大概是这样的: Class 动画数据 {     void 创建(动画数据文件路径)     void 释放()          void 播放()     void 绘制

iOS动画编程

1.视图动画(UIViewAnimation) 可以改变视图的属性(Animatable UIView properties) frame:控制UIView的大小和该UIView在superview中的相对位置. bounds:控制UIView的大小 center:控制UIView的位置 transform:控制UIView的缩放,旋转角度等固定好中心位置之后的变化 alpha:控制UIView的透明度 backgroundColor:控制UIView的背景色 contentStretch:控制