examples/touchinteraction/multipointtouch: Fix broken score display

Fixes the broken score display in "Bearwhack".

Change-Id: I43581947f71e4c6dd3cca43068f6d220a058cc46
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
Maximilian Goldstein 2019-11-28 14:30:34 +01:00
parent 6efdefda28
commit c2f6a4cf63
2 changed files with 13 additions and 8 deletions

View File

@ -87,7 +87,7 @@ Item {
running: !startScreen.visible
}
property int score: 0
property int score: particleSystem.score
Text {
anchors.right: parent.right
@ -96,11 +96,13 @@ Item {
color: "white"
function padded(num) {
var ret = num.toString();
while (ret.length < 6)
ret = "0" + ret;
return ret;
if (ret >= 0)
return ret.padStart(6, "0");
else
return "-" + ret.substr(1).padStart(6, "0");
}
text: "Score: " + padded(score)
text: "Score: " + padded(root.score)
}
MultiPointTouchArea {
anchors.fill: parent

View File

@ -52,6 +52,9 @@ import QtQuick.Particles 2.0
ParticleSystem {
id: particleSystem
property int score
function explode(x,y) {
fireEmitter.burst(100,x,y);
}
@ -116,13 +119,13 @@ ParticleSystem {
once: true
y: parent.height - 32
groups: "bears"
onAffectParticles: {
onAffectParticles: function(particles) {
for (var i=0;i<particles.length; i++) {
if (particles[i].animationIndex != 0) {
score++;
particleSystem.score++;
bloodEmitter.burst(100, particles[i].x, particles[i].y);
} else {
score--;
particleSystem.score--;
heartEmitter.burst(100, particles[i].x, particles[i].y);
}
particles[i].update = 1.0;