mirror of https://github.com/qt/qtdoc.git
70 lines
2.3 KiB
QML
70 lines
2.3 KiB
QML
// Copyright (C) 2017 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
pragma ComponentBehavior: Bound
|
|
|
|
import QtQuick
|
|
import QtQuick.Particles
|
|
|
|
Item {
|
|
id: container //Positioned where the 48x48 S/G should be
|
|
property alias running: mainAnim.running
|
|
property ParticleSystem particleSystem
|
|
property int dur: 500
|
|
signal boomTime
|
|
Image {
|
|
id: s1
|
|
source: "gfx/logo-s.png"
|
|
y: 0
|
|
}
|
|
Image {
|
|
id: g1
|
|
source: "gfx/logo-g.png"
|
|
y: -128
|
|
}
|
|
Column {
|
|
Repeater {
|
|
model: 2
|
|
Item {
|
|
width: 48
|
|
height: 48
|
|
BlockEmitter {
|
|
id: emitter
|
|
anchors.fill: parent
|
|
group: "red"
|
|
system: container.particleSystem
|
|
Connections {
|
|
target: container
|
|
function onBoomTime() {
|
|
emitter.pulse(100);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
SequentialAnimation {
|
|
id: mainAnim
|
|
running: true
|
|
loops: -1
|
|
PropertyAction { target: g1; property: "y"; value: -128}
|
|
PropertyAction { target: g1; property: "opacity"; value: 1}
|
|
PropertyAction { target: s1; property: "y"; value: 0}
|
|
PropertyAction { target: s1; property: "opacity"; value: 1}
|
|
NumberAnimation { target: g1; property: "y"; from: -96; to: -48; duration: container.dur}
|
|
ParallelAnimation {
|
|
NumberAnimation { target: g1; property: "y"; from: -48; to: 0; duration: container.dur}
|
|
NumberAnimation { target: s1; property: "y"; from: 0; to: 48; duration: container.dur }
|
|
}
|
|
PauseAnimation { duration: container.dur }
|
|
ScriptAction { script: container.boomTime(); }
|
|
ParallelAnimation {
|
|
NumberAnimation { target: g1; property: "opacity"; to: 0; duration: container.dur }
|
|
NumberAnimation { target: s1; property: "opacity"; to: 0; duration: container.dur }
|
|
}
|
|
PropertyAction { target: s1; property: "y"; value: -128}
|
|
PropertyAction { target: s1; property: "opacity"; value: 1}
|
|
NumberAnimation { target: s1; property: "y"; from: -96; to: 0; duration: container.dur * 2}
|
|
}
|
|
}
|