[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegames/kolf
From: Stefan Majewsky <majewsky () gmx ! net>
Date: 2010-10-31 23:23:02
Message-ID: 20101031232302.8229AAC8A2 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1191705 by majewsky:
Decouple bumper animation from scene loop.
M +6 -22 game.cpp
M +3 -3 game.h
--- trunk/KDE/kdegames/kolf/game.cpp #1191704:1191705
@@ -1034,29 +1034,8 @@
const int diameter = 20;
setSize(QSizeF(diameter, diameter));
setZValue(-25);
-
- count = 0;
- setAnimated(false);
}
-void Bumper::advance(int phase)
-{
- if(!isAnimated())
- return;
-
- QGraphicsItem::advance(phase);
-
- if (phase == 1)
- {
- if (++count > 2)
- {
- count = 0;
- setSpriteKey(QLatin1String("bumper_off"));
- setAnimated(false);
- }
- }
-}
-
bool Bumper::collision(Ball *ball, long int /*id*/)
{
double maxSpeed = ball->getMaxBumperBounceSpeed();
@@ -1075,11 +1054,16 @@
ball->setState(Rolling);
setSpriteKey(QLatin1String("bumper_on"));
- setAnimated(true);
+ QTimer::singleShot(100, this, SLOT(turnBumperOff()));
return true;
}
+void Bumper::turnBumperOff()
+{
+ setSpriteKey(QLatin1String("bumper_off"));
+}
+
/////////////////////////
Cup::Cup(QGraphicsItem * parent)
--- trunk/KDE/kdegames/kolf/game.h #1191704:1191705
@@ -251,13 +251,13 @@
class Bumper : public EllipticalCanvasItem
{
+Q_OBJECT
public:
Bumper(QGraphicsItem *parent);
- virtual void advance(int phase);
virtual bool collision(Ball *ball, long int id);
-private:
- int count;
+public Q_SLOTS:
+ void turnBumperOff();
};
class Cup : public EllipticalCanvasItem
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic