title: Python calling method from super class via child class not working as expected
body: <p>I have extended <code>pygame.Rect</code> with my <code>Ball</code> class. When I use <code>nstanceOfBall.colliderect()</code> (line 66), no errors are thrown, yet it never returns true.  Any insight into why <code>colliderect</code> isn't working for my Ball instances?</p>
  
  <pre><code>    import sys, pygame
      import os
      import ball
      import random
      import math
      #from ball import Ball
  
      ###############################################################################################
  
      class Ball(pygame.Rect):
          def __init__(self, x, y, width, height, screenWidth, screenHeight):
              super(pygame.Rect,self).__init__(x, y, width, height)
              self.floatX=x
              self.floatY=x
              self.screenWidth=screenWidth
              self.screenHeight=screenHeight
              self.speed=[random.random()*5-2.5, random.random()*5-2.5]
  
          def runLogic(self):
              self.floatX+=self.speed[0]
              self.floatY+=self.speed[1]
  
              if self.floatX+16&lt;0: self.floatX=self.screenWidth
              if self.floatX&gt;self.screenWidth: self.floatX=-16
              if self.floatY+16&lt;0: self.floatY=self.screenHeight
              if self.floatY&gt;self.screenHeight: self.floatY=-16
  
              self.x=self.floatX
              self.y=self.floatY
  
      ###############################################################################################
  
      os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (700, 200)#1680,1440)
  
      pygame.init()
  
      size = width, height = 320, 240
      white = 255, 255, 255
      blue=0,0,255
  
      screen = pygame.display.set_mode(size)
  
      image = pygame.image.load("ball.png")
      ballRect=image.get_rect()
      balls = []
  
      for x in range(0, 100):
          balls.append(Ball(random.random()*width, random.random()*height, ballRect.width, ballRect.height, width, height))
  
      lastFrameStartTime=pygame.time.get_ticks()
  
      while 1:
          for event in pygame.event.get():
              if event.type == pygame.QUIT: 
                  sys.exit()
  
              if event.type == pygame.KEYDOWN:
                  if event.key == pygame.K_ESCAPE:
                      sys.exit()
  
          for ball in balls:
              ball.runLogic()
  
              for ball2 in balls:
                  if ball != ball2:                
                      if ball.colliderect(ball2):
                          print("collision detected!")
                          balls.pop(balls.index(ball))
                          balls.pop(balls.index(ball2))
                          #balls.remove(ball2)
  
          screen.fill(blue)
          for ball in balls:
              screen.blit(image, ball)
          pygame.display.flip()
  
          pygame.time.wait(33-(pygame.time.get_ticks()-lastFrameStartTime))
          lastFrameStartTime=pygame.time.get_ticks()
  </code></pre>
  
  <p>Using super(Ball, self) instead of super(pygame.Rect, self) in Ball.init did the trick.</p>
  
  <p>Thank you.</p>