Remove "All rights reserved" line from license headers.
[profile/ivi/qtdeclarative.git] / examples / declarative / touchinteraction / multipointtouch / bearwhack.qml
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
5 **
6 ** This file is part of the examples of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** You may use this file under the terms of the BSD license as follows:
10 **
11 ** "Redistribution and use in source and binary forms, with or without
12 ** modification, are permitted provided that the following conditions are
13 ** met:
14 **   * Redistributions of source code must retain the above copyright
15 **     notice, this list of conditions and the following disclaimer.
16 **   * Redistributions in binary form must reproduce the above copyright
17 **     notice, this list of conditions and the following disclaimer in
18 **     the documentation and/or other materials provided with the
19 **     distribution.
20 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
21 **     the names of its contributors may be used to endorse or promote
22 **     products derived from this software without specific prior written
23 **     permission.
24 **
25 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36 **
37 ** $QT_END_LICENSE$
38 **
39 ****************************************************************************/
40 import QtQuick 2.0
41 import QtQuick.Particles 2.0
42 import "content"
43
44 Item {
45     id: root
46     height: 640
47     width: 320
48     Item {
49         id: startScreen
50         anchors.fill: parent
51         z: 1000
52         Image {
53             source: "content/title.png"
54             anchors.centerIn: parent
55         }
56         MouseArea{
57             anchors.fill: parent
58             onClicked: {//Game Start
59                 parent.visible = false;
60             }
61         }
62     }
63     Rectangle {
64         id: bg
65         anchors.fill: parent
66         gradient: Gradient {
67             GradientStop { position: 0.0; color: "DarkBlue" }
68             GradientStop { position: 0.8; color: "SkyBlue" }
69             GradientStop { position: 0.81; color: "ForestGreen" }
70             GradientStop { position: 1.0; color: "DarkGreen" }
71         }
72     }
73
74     BearWhackParticleSystem {
75         id: particleSystem
76         anchors.fill: parent
77         running: !startScreen.visible
78     }
79
80     property int score: 0
81
82     Text {
83         anchors.right: parent.right
84         anchors.margins: 4
85         anchors.top: parent.top
86         color: "white"
87         function padded(num) {
88             var ret = num.toString();
89             while (ret.length < 6)
90                 ret = "0" + ret;
91             return ret;
92         }
93         text: "Score: " + padded(score)
94     }
95     MultiPointTouchArea {
96         anchors.fill: parent
97         touchPoints: [//Support up to 4 touches at once?
98             AugmentedTouchPoint{ system: particleSystem },
99             AugmentedTouchPoint{ system: particleSystem },
100             AugmentedTouchPoint{ system: particleSystem },
101             AugmentedTouchPoint{ system: particleSystem }
102         ]
103     }
104     MouseArea{
105         anchors.fill: parent
106         id: ma
107         onPressedChanged: {
108             if (pressed) {
109                 timer.restart();
110                 sgoal.enabled = true;
111                 particleSystem.explode(mouseX,mouseY);
112             }
113         }
114         Timer {
115             id: timer
116             interval: 100
117             running: false
118             repeat: false
119             onTriggered: sgoal.enabled = false
120         }
121         SpriteGoal {
122             id: sgoal
123             x: ma.mouseX - 16
124             y: ma.mouseY - 16
125             width: 32
126             height: 32
127             system: particleSystem
128             parent: particleSystem
129             goalState: "falling"
130             enabled: false
131         }
132     }
133 }