• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • QML進階教程:三、動畫分組(Grouped Animations)

    標簽: Qt  QML

    前言:

    如果想同時運行幾個動畫并把他們連接起來,或者在一個一個的運行,或者在兩個動畫之間執行一個腳本。動畫分組
    提供了很好的幫助,有兩種方法來分組:平行與連續。可以使用SequentialAnimation(連續動畫) 和ParallelAnimation(平行動畫) 來實現它們,它們作為動畫的容器來包含其它的動畫元素。
    這里寫圖片描述

    代碼實例:

    import QtQuick 2.0
    
    Item {
        id: root
        width: 640
        height: 380
        property int duration: 3000
    
        // M1>>
        Rectangle {
            id: sky
            width: parent.width
            height: 200 
            //設置顏色漸變
            gradient: Gradient {
                GradientStop { position: 0.0; color: "#0080FF" }
                GradientStop { position: 1.0; color: "#66CCFF" }
            }
        }
        Rectangle {
            id: ground
            anchors.top: sky.bottom
            anchors.bottom: root.bottom
            width: parent.width
            gradient: Gradient {
                GradientStop { position: 0.0; color: "#00FF00" }
                GradientStop { position: 1.0; color: "#00803F" }
            }
        }
        // <<M1
    
        // M2>>
        Image {
            id: ball
            x: 0; y: root.height-height
            source: "assets/soccer_ball.png"
    
            MouseArea {
                anchors.fill: parent 
                //點擊后初始化
                onClicked: {
                    ball.x = 0;
                    ball.y = root.height-ball.height;
                    ball.rotation = 0;
                    anim.restart()
                }
            }
        }
        // <<M2
    
        // M3>> 
        //平行動畫
        ParallelAnimation {
            id: anim 
            //插入連續動畫
            SequentialAnimation { 
                //Y方向上升
                NumberAnimation {
                    target: ball
                    properties: "y"
                    to: 20
                    duration: root.duration * 0.4 
                    //設置緩沖曲線風格
                    easing.type: Easing.OutCirc
                } 
                //Y方向下降
                NumberAnimation {
                    target: ball
                    properties: "y"
                    to: root.height-ball.height
                    duration: root.duration * 0.6
                    easing.type: Easing.OutBounce
                }
            } 
            //X方向移動
            NumberAnimation {
                target: ball
                properties: "x"
                to: root.width-ball.width
                duration: root.duration
            } 
            //角度旋轉
            RotationAnimation {
                target: ball
                properties: "rotation"
                to: 720
                duration: root.duration
            }
        }
        // <<M3
    
    
    }
    

    運行軌跡:
    這里寫圖片描述

    版權聲明:本文為qq_40194498原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_40194498/article/details/79958815

    智能推薦

    iOS動畫編程-View動畫[ 4 ]高級View Animations

    View組合動畫 前幾節中我們已經學習了基本的View動畫,其實我們已經可以通過這些技術的組合實現非常酷炫的效果了,這節我們不會涉及新的API,一起來學習一下View動畫的組合 背景圖片的漸變效果 背景圖片的漸變效果在很多應用中都會遇到,其實利用前幾節學習到的基本View動畫就可以做到 我們現在希望在這兩個界面間進行切換 由于我們希望能夠柔和地過渡到第二個圖片,如果我們直接替換圖片的話會顯得非常突...

    [Animations] 快速上手 iOS10 屬性動畫

    概述 今天要說的UIViewPropertyAnimator, 是iOS10新的API 詳細 代碼下載:http://www.demodashi.com/demo/10639.html 基礎動畫, 核心動畫到自定義轉場動畫其實都不是什么新東西了, 所以我也是草草看一遍就能夠讀個大概, 但今天要說的UIViewPropertyAnimator, 是iOS10新的API, 其他的好處我還不太清楚, 但...

    Animations開源動效分析(一)POP按鈕動畫

    最近Github有一個上很火的開源動畫集叫Animations。 我也很喜歡做動畫動效,特來學習觀摩。因為動效的特殊性,很多情況下這個項目里的動效不能直接Copy到我們現有的項目中直接使用,所以搞清楚她們的實現原理就很有必要了。建議配合源碼學習。 POP按鈕動畫 沒用過的POP的請移步Facebook Pop 使用指南 效果如下 思路 整體效果是用三個CAShapeLayer和一個UILabel組...

    Animations開源動效分析(二)POP-Stroke動畫

    本教程源碼Animations 作者 YouXianMing,建議配合源碼項目食用 Facebook pop動畫框架簡易教程請移步 Facebook Pop 使用指南 CoreAnimation不簡易教程 如果不想看第三條的教程,也要弄明白CALayer的隱式動畫,否則看本文會疑惑,請移步CALayer的隱式動畫和顯式動畫 CAMediaTimingFunction 今天我們來看一下研究一下CAM...

    Flutter Animations showModal 模態動畫方式打開新的頁面

    題記 —— 執劍天涯,從你的點滴積累開始,所及之處,必精益求精,優美的應用體驗 來自于細節的處理,更源自于碼農的自我要求與努力 Flutter是谷歌推出的最新的移動開發框架。 【x1】微信公眾號的每日提醒 隨時隨記 每日積累 隨心而過 文章底部掃碼關注 【x2】各種系列的**** 免費開源 關注 你不會迷路 【x3】系列文章 百萬 Demo 隨時 復制粘貼 使用 【x4】五...

    猜你喜歡

    Material-Animations(三)--Animate view layout elements

    原文:https://github.com/lgvalle/Material-Animations Scenes(場景) Transition Framework還可以用于改變當前Activity元素的動畫。 過渡動畫發生在場景與場景之間,場景是固定的,靜態的。在一個場景跳轉到另外一個場景期間,Transition Framework將會作用于其Views上。 上面的代碼,將會在Activity中...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡