QML 动画特效之撞墙反弹

1.在讲此效果看需要在创建项目时选择qtquick;

2. 源码如下

import QtQuick 2.0
 
Rectangle {
    width: 80
    height: 80
    color: "orange"
    radius: 10
    Text {
        text: qsTr("属性")
        anchors.centerIn: parent
        font.pixelSize: 12
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            Qt.quit();
        }
    }
 
    PropertyAnimation on x {
        from: 50
        to: 500
        duration: 10000
        loops: Animation.Infinite
        easing.type: Easing.OutBounce
    }
}
 
大概解释一下代码:
 
Rectangle 代表当前的一个矩形区域, 当然里面是可以再继续嵌入其它的矩形区域的。 

width,height: 表示总区域的宽高
color: 表示背景色
radius: 表示角的弧度。

Text
表示其文本属性。

MouseArea 
表示当鼠标点到这一块区域的反应。
PropertyAnimation
这个就是动画的部分;

    PropertyAnimation on x {
        from: 50
        to: 500
        duration: 10000
        loops: Animation.Infinite
        easing.type: Easing.OutBounce
    }

这段代码表示了在X 轴方向上, 从坐标50 到 500 10秒钟内实现一个碰撞并反弹的循环效果。

loops: Animation.Infinite
这个表示不停地循环。

 

 
 
这是一个总在效果, 在使用使用, 直接使用它对应的文件名不用后缀就行。 这个文件我用的Rect.qml , 所以在使用它时, 直接用Rect {} 就可以使用了。
 
 
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小K小Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值