[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/games/granatier/src
From:       Mathias Kraus <k.hias () gmx ! de>
Date:       2009-10-11 9:23:20
Message-ID: 1255253000.194900.18562.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1033818 by mkraus:

improve player death

 M  +24 -1     player.cpp  
 M  +2 -4      playeritem.cpp  


--- trunk/playground/games/granatier/src/player.cpp #1033817:1033818
@@ -105,6 +105,11 @@
 
 void Player::updateDirection()
 {
+    if(m_death)
+    {
+        return;
+    }
+    
     setXSpeed(m_askedXSpeed);
     setYSpeed(m_askedYSpeed);
     m_askedXSpeed = 0;
@@ -115,6 +120,11 @@
 
 void Player::updateMove()
 {
+    if(m_death)
+    {
+        return;
+    }
+    
     //check if there is a hurdle in the way
     if(m_askedXSpeed != 0 || m_xSpeed != 0 || m_askedYSpeed != 0 || m_ySpeed != 0)
     {
@@ -293,7 +303,7 @@
     }
     
     //check if bad bonus scatty and drop bombs
-    if(!m_death && m_badBonusCountdownTimer->isActive() && m_badBonusType == \
Bonus::SCATTY  && m_bombArmory > 0) +    if(m_badBonusCountdownTimer->isActive() && \
m_badBonusType == Bonus::SCATTY  && m_bombArmory > 0)  {
         //TODO: improve
         emit bombDropped(this, m_x, m_y);
@@ -455,6 +465,14 @@
     {
         m_death = true;
         emit dying(this);
+        m_xSpeed = 0;
+        m_xSpeed = 0;
+        
+        if(m_badBonusCountdownTimer->isActive())
+        {
+            m_badBonusCountdownTimer->stop();
+            slot_removeBadBonus();
+        }
     }
 }
 
@@ -651,6 +669,11 @@
 
 void Player::keyReleased(QKeyEvent* keyEvent)
 {
+    if(m_death)
+    {
+        return;
+    }
+    
     QKeySequence key = QKeySequence(keyEvent->key());
 
     if(key == m_key.moveLeft || key == m_key.moveRight || key == m_key.moveUp || key \
                == m_key.moveDown || key == m_key.dropBomb)
--- trunk/playground/games/granatier/src/playeritem.cpp #1033817:1033818
@@ -25,6 +25,7 @@
 
 #include <QTimeLine>
 #include <QGraphicsScene>
+#include <QDebug>
 #include <KSvgRenderer>
 #include <KStandardDirs>
 
@@ -107,10 +108,7 @@
             if (collidingList[i]->zValue() >= 300 && collidingList[i]->zValue() < \
400)  {
                 //((ElementItem*)collidingList[i])->getModel()->doActionOnCollision((Player*)getModel());
                
-                if(m_renderer->elementExists("player_death"))
-                {
-                    setElementId("player_death");
-                }
+                setDead();
                 dynamic_cast <Player*> (m_model)->die();
             }
             else if (collidingList[i]->zValue() == 100)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic