aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/touch/bearwhack/bearwhack.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/touch/bearwhack/bearwhack.qml')
-rw-r--r--tests/manual/touch/bearwhack/bearwhack.qml97
1 files changed, 97 insertions, 0 deletions
diff --git a/tests/manual/touch/bearwhack/bearwhack.qml b/tests/manual/touch/bearwhack/bearwhack.qml
new file mode 100644
index 0000000000..35121d2515
--- /dev/null
+++ b/tests/manual/touch/bearwhack/bearwhack.qml
@@ -0,0 +1,97 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+import QtQuick
+import QtQuick.Particles
+
+Item {
+ id: root
+ height: 480
+ width: 320
+ Item {
+ id: startScreen
+ anchors.fill: parent
+ z: 1000
+ Image {
+ source: "title.png"
+ anchors.centerIn: parent
+ }
+ MouseArea{
+ anchors.fill: parent
+ onClicked: {//Game Start
+ parent.visible = false;
+ }
+ }
+ }
+ Rectangle {
+ id: bg
+ anchors.fill: parent
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "DarkBlue" }
+ GradientStop { position: 0.8; color: "SkyBlue" }
+ GradientStop { position: 0.81; color: "ForestGreen" }
+ GradientStop { position: 1.0; color: "DarkGreen" }
+ }
+ }
+
+ BearWhackParticleSystem {
+ id: particleSystem
+ anchors.fill: parent
+ running: !startScreen.visible
+ }
+
+ property int score: particleSystem.score
+
+ Text {
+ anchors.right: parent.right
+ anchors.margins: 4
+ anchors.top: parent.top
+ color: "white"
+ function padded(num) {
+ var ret = num.toString();
+
+ if (ret >= 0)
+ return ret.padStart(6, "0");
+ else
+ return "-" + ret.substr(1).padStart(6, "0");
+ }
+ text: "Score: " + padded(root.score)
+ }
+ MultiPointTouchArea {
+ anchors.fill: parent
+ touchPoints: [//Support up to 4 touches at once?
+ AugmentedTouchPoint{ system: particleSystem },
+ AugmentedTouchPoint{ system: particleSystem },
+ AugmentedTouchPoint{ system: particleSystem },
+ AugmentedTouchPoint{ system: particleSystem }
+ ]
+ }
+ MouseArea{
+ anchors.fill: parent
+ id: ma
+ onPressedChanged: {
+ if (pressed) {
+ timer.restart();
+ sgoal.enabled = true;
+ particleSystem.explode(mouseX,mouseY);
+ }
+ }
+ Timer {
+ id: timer
+ interval: 100
+ running: false
+ repeat: false
+ onTriggered: sgoal.enabled = false
+ }
+ SpriteGoal {
+ id: sgoal
+ x: ma.mouseX - 16
+ y: ma.mouseY - 16
+ width: 32
+ height: 32
+ system: particleSystem
+ parent: particleSystem
+ goalState: "falling"
+ enabled: false
+ }
+ }
+}