mirror of https://github.com/qt/qtdoc.git
48 lines
1.4 KiB
QML
48 lines
1.4 KiB
QML
// Copyright (C) 2017 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
import QtQuick
|
|
import QtQuick.Particles
|
|
|
|
Item {
|
|
id: smokeText
|
|
z: 10
|
|
property alias source: img.source
|
|
property alias system: emitter.system
|
|
property int playerNum: 1
|
|
function play() {
|
|
anim.running = true;
|
|
}
|
|
anchors.centerIn: parent
|
|
Image {
|
|
opacity: 0
|
|
id: img
|
|
anchors.centerIn: parent
|
|
rotation: smokeText.playerNum == 1 ? -8 : -5
|
|
Emitter {
|
|
id: emitter
|
|
group: "smoke"
|
|
anchors.fill: parent
|
|
shape: MaskShape { source: img.source }
|
|
enabled: false
|
|
emitRate: 1000
|
|
lifeSpan: 600
|
|
size: 64
|
|
endSize: 32
|
|
velocity: AngleDirection { angleVariation: 360; magnitudeVariation: 160 }
|
|
}
|
|
}
|
|
SequentialAnimation {
|
|
id: anim
|
|
running: false
|
|
PauseAnimation { duration: 500}
|
|
ParallelAnimation {
|
|
NumberAnimation { target: img; property: "opacity"; from: 0.1; to: 1.0 }
|
|
NumberAnimation { target: img; property: "scale"; from: 0.1; to: 1.0 }
|
|
}
|
|
PauseAnimation { duration: 250}
|
|
ScriptAction { script: emitter.pulse(100); }
|
|
NumberAnimation { target: img; property: "opacity"; from: 1.0; to: 0.0 }
|
|
}
|
|
}
|