diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2011-08-10 13:24:37 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-15 03:48:53 +0200 |
commit | 4796c4d9550166500d54b829fa97541e4de6e929 (patch) | |
tree | 14a42e0f655cdb4a591ec268330e1e145e7f76f7 /examples/declarative/samegame/samegame.qml | |
parent | b631e1e4f245dc8ba4460bda6acb4ed1ef63bcdc (diff) |
SameGame refactor
A little more imperative with dialogs controlled from script, but better
separation of GameArea and UI. Also removes old highscore script that
was never used.
Change-Id: Ib244acc90b0fc92b3a6534169e429b6acef0838e
Reviewed-on: http://codereview.qt.nokia.com/2798
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'examples/declarative/samegame/samegame.qml')
-rw-r--r-- | examples/declarative/samegame/samegame.qml | 121 |
1 files changed, 8 insertions, 113 deletions
diff --git a/examples/declarative/samegame/samegame.qml b/examples/declarative/samegame/samegame.qml index 887cfe1cc9..baf5b8e926 100644 --- a/examples/declarative/samegame/samegame.qml +++ b/examples/declarative/samegame/samegame.qml @@ -46,143 +46,38 @@ import "SamegameCore/samegame.js" as Logic Rectangle { id: screen - width: 360; height: 640 - property bool inAnotherDemo: false //Samegame often is just plonked straight into other examples + width: 480; height: 640 SystemPalette { id: activePalette } - Item { + GameArea { + id: gameCanvas width: parent.width anchors { top: parent.top; bottom: toolBar.top } - - Image { - id: background - anchors.fill: parent - source: "SamegameCore/pics/background.png" - fillMode: Image.PreserveAspectCrop - } - - Item { - id: gameCanvas - property int score: 0 - property int blockSize: 40 - - z: 20; anchors.centerIn: parent - width: parent.width - (parent.width % blockSize); - height: parent.height - (parent.height % blockSize); - - MouseArea { - anchors.fill: parent; onClicked: Logic.handleClick(mouse.x,mouse.y); - } - } - Item{ - ParticleSystem{ id: particleSystem; } - ImageParticle { - system: particleSystem - particles: ["red"] - color: Qt.darker("red");//Actually want desaturated... - source: "SamegameCore/pics/particle.png" - colorVariation: 0.4 - alpha: 0.1 - } - ImageParticle { - system: particleSystem - particles: ["green"] - color: Qt.darker("green");//Actually want desaturated... - source: "SamegameCore/pics/particle.png" - colorVariation: 0.4 - alpha: 0.1 - } - ImageParticle { - system: particleSystem - particles: ["blue"] - color: Qt.darker("blue");//Actually want desaturated... - source: "SamegameCore/pics/particle.png" - colorVariation: 0.4 - alpha: 0.1 - } - id: aboveGameCanvas - anchors.fill: gameCanvas - z: gameCanvas.z + 1 - } - } - - Dialog { id: dialog; anchors.centerIn: parent; z: 21 } - - Dialog { - id: nameInputDialog - - property int initialWidth: 0 - property alias name: nameInputText.text - - anchors.centerIn: parent - z: 22; - - Behavior on width { - NumberAnimation {} - enabled: nameInputDialog.initialWidth != 0 - } - - onClosed: { - if (nameInputText.text != "") - Logic.saveHighScore(nameInputText.text); - } - Text { - id: dialogText - anchors { left: nameInputDialog.left; leftMargin: 20; verticalCenter: parent.verticalCenter } - text: "You won! Please enter your name: " - } - MouseArea { - anchors.fill: parent - onClicked: { - if (nameInputText.text == "") - nameInputText.openSoftwareInputPanel(); - else - nameInputDialog.forceClose(); - } - } - - TextInput { - id: nameInputText - anchors { verticalCenter: parent.verticalCenter; left: dialogText.right } - focus: visible - autoScroll: false - maximumLength: 24 - onTextChanged: { - var newWidth = nameInputText.width + dialogText.width + 40; - if ( (newWidth > nameInputDialog.width && newWidth < screen.width) - || (nameInputDialog.width > nameInputDialog.initialWidth) ) - nameInputDialog.width = newWidth; - } - onAccepted: { - nameInputDialog.forceClose(); - } - } } Rectangle { id: toolBar - width: parent.width; height: 58 + width: parent.width; height: 80 color: activePalette.window anchors.bottom: screen.bottom Button { id: newGameButton - anchors { left: parent.left; leftMargin: 3; verticalCenter: parent.verticalCenter } + anchors { left: parent.left; leftMargin: 12; verticalCenter: parent.verticalCenter } text: "New Game" - onClicked: Logic.startNewGame() + onClicked: Logic.startNewGame(gameCanvas) } Button { - visible: !inAnotherDemo text: "Quit" - anchors { left: newGameButton.right; leftMargin: 3; verticalCenter: parent.verticalCenter } + anchors { left: newGameButton.right; leftMargin: 12; verticalCenter: parent.verticalCenter } onClicked: Qt.quit(); } Text { id: score - anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter } + anchors { right: parent.right; rightMargin: 12; verticalCenter: parent.verticalCenter } text: "Score: " + gameCanvas.score font.bold: true font.pixelSize: 24 |