1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.0
Item {
id: spriteimageelementtest
anchors.fill: parent
property string testtext: ""
SpriteSequence {
id: spriteimage
sprites: [Sprite {
name: "happy"
source: "pics/squarefacesprite2.png"
frameCount: 6
frameDuration: 120
to: {"silly": 1, "sad":0}
}, Sprite {
name: "silly"
source: "pics/squarefacesprite.png"
frameCount: 6
frameDuration: 120
to: {"happy": 1, "sad": 0}
}, Sprite {
name: "sad"
source: "pics/squarefacesprite3.png"
frameCount: 6
frameDuration: 120
to: {"evil": 0.5, "sad": 1, "cyclops" : 0}
}, Sprite {
name: "cyclops"
source: "pics/squarefacesprite4.png"
frameCount: 6
frameDuration: 120
to: {"love": 0.1, "boggled": 0.1, "cyclops" : 0.1}
}, Sprite {
name: "evil"
source: "pics/squarefacesprite5.png"
frameCount: 6
frameDuration: 120
to: {"sad": 1.0, "cyclops" : 0}
}, Sprite {
name: "love"
source: "pics/squarefacesprite6.png"
frameCount: 6
frameDuration: 120
to: {"love": 0.1, "boggled": 0.1, "cyclops" : 0.1}
}, Sprite {
name: "boggled"
source: "pics/squarefacesprite7.png"
frameCount: 6
frameDuration: 120
to: {"love": 0.1, "boggled": 0.1, "cyclops" : 0.1, "dying":0}
}, Sprite {
name: "dying"
source: "pics/squarefacespriteX.png"
frameCount: 4
frameDuration: 120
to: {"dead":1.0}
}, Sprite {
name: "dead"
source: "pics/squarefacespriteXX.png"
frameCount: 1
frameDuration: 10000
}]
width: 300
height: 300
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
}
SystemTestHelp { id: helpbubble; visible: statenum != 0
anchors { top: parent.top; horizontalCenter: parent.horizontalCenter; topMargin: 50 }
}
BugPanel { id: bugpanel }
states: [
State { name: "start"; when: statenum == 1
StateChangeScript { script: spriteimage.jumpTo("happy"); }
PropertyChanges { target: spriteimageelementtest
testtext: "This is a SpriteSequence element. It should be animating currently."+
"It should alternate between winking and sticking out its tongue." }
},
State { name: "stochastic2"; when: statenum == 2
StateChangeScript { script: spriteimage.jumpTo("sad"); }
PropertyChanges { target: spriteimageelementtest
testtext: "The sprite should now be animating between frowning and being evil."+
"This should not be alternating, but mostly frowning with the occasional evil eyes."+
"After an evil eyes animation, it should return to frowning at least once." }
},
State { name: "stochastic3"; when: statenum == 3
StateChangeScript { script: spriteimage.jumpTo("cyclops"); }
PropertyChanges { target: spriteimageelementtest
testtext: "The sprite should now be animating fairly randomly between three animations where it does silly things with its eyes.\n"+
"Next the sprite will animate into a static 'dead' state."+
"When it does, it should first animate to and play through the 'big eyes' animation (if it is not currently playing that animation) before it enters the dying animation."}
},
State { name: "dead"; when: statenum == 4
PropertyChanges { target: spriteimage; goalSprite: "dead" }
PropertyChanges { target: spriteimageelementtest
testtext: "After a brief dying animation, the image should now be static.\n"+
"Advance to restart the test." }
}
]
}
|