Revision control
Copy as Markdown
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Timeline
import QtQuick.Timeline.BlendTrees
Item {
Item {
width: 480
height: 480
TimelineAnimation {
objectName: "animation1"
id: animation1
duration: 20000
loops: -1
from: 0
to: 100
}
TimelineAnimation {
objectName: "animation2"
id: animation2
duration: 20000
loops: -1
from: 100
to: 200
}
Timeline {
id: timeline
objectName: "timeline"
enabled: true
KeyframeGroup {
objectName: "group01"
target: rectangle
property: "x"
Keyframe {
frame: 0
value: 0
}
Keyframe {
objectName: "keyframe"
frame: 50
value: 100
}
Keyframe {
frame: 100
value: 200
}
Keyframe {
frame: 150
value: 100
}
Keyframe {
frame: 200
value: 0
}
}
KeyframeGroup {
target: rectangle
property: "y"
Keyframe {
frame: 0
value: 0
}
Keyframe {
frame: 50
value: 100
}
Keyframe {
objectName: "easingBounce"
frame: 100
value: 200
easing.type: Easing.InBounce
}
Keyframe {
frame: 150
value: 300
}
Keyframe {
frame: 200
value: 400
}
}
KeyframeGroup {
target: rectangle
property: "color"
Keyframe {
frame: 0
value: "red"
}
Keyframe {
frame: 50
value: "blue"
}
Keyframe {
frame: 100
value: "yellow"
}
Keyframe {
frame: 150
value: "cyan"
}
Keyframe {
frame: 200
value: "magenta"
}
}
}
TimelineAnimationNode {
id: animation1Node
objectName: "animation1Node"
timeline: timeline
animation: animation1
}
TimelineAnimationNode {
id: animation2Node
objectName: "animation2Node"
timeline: timeline
animation: animation2
}
BlendAnimationNode {
id: animationBlendNode
objectName: "blendAnimation"
source1: animation1Node
source2: animation2Node
weight: 0.5
outputEnabled: true
}
Rectangle {
id: rectangle
objectName: "rectangle"
width: 20
height: 20
color: "red"
}
AnimationController {
id: animation1Controller
objectName: "animation1Controller"
animation: animation1
}
AnimationController {
id: animation2Controller
objectName: "animation2Controller"
animation: animation2
}
}
}