title: Why am I getting an error? Pygame blits
body: <pre><code>import sys, pygame, math, random
  pygame.init()
  
  size = width, height = 1000,720
  x = 0
  y = 0
  
  
  house1x = 500
  house1y = 360
  
  house2x = 1470
  house2y = 360
  
  
  rock1x = -100
  rock1y = 300
  
  
  scrollx = 0
  scrolly = 0
  screen = pygame.display.set_mode(size, pygame.DOUBLEBUF)
  counter = 0
  
  
  playercollideRect =  pygame.rect.Rect((0, 0), (75, 25))
  
  house1collideRect = pygame.rect.Rect((0, 0), (870, 605))
  house2collideRect = pygame.rect.Rect((0, 0), (870, 605))
  
  rock1collideRect = pygame.rect.Rect((0, 0), (140, 100))
  
  
  
  collision = False
  
  
  lastkey = 'down'
  animationdirection = 'down'
  
  
  
  playerimage = pygame.image.load("img/player/player0.png").convert_alpha()
  playerimagerect = playerimage.get_rect()
  
  
  house1image = pygame.image.load("img/structures/house1.png").convert_alpha()
  house1imagerect = house1image.get_rect()
  
  house2image = pygame.image.load("img/structures/house2.png").convert_alpha()
  house2imagerect = house2image.get_rect()
  
  
  rock1image = pygame.image.load("img/objects/rock1.png").convert_alpha()
  rock1imagerect = rock1image.get_rect()
  
  
  
  clock = pygame.time.Clock()
  
  screencolor = 0, 155, 20
  gamefont = pygame.font.SysFont("arial", 30)
  
  playeranimationdown = ['img/player/player1.png','img/player/player0.png','img/player/player2.png','img/player/player0.png']
  playeranimationup = ['img/player/playerback1.png','img/player/playerback0.png','img/player/playerback2.png','img/player/playerback0.png']
  playeranimationleft = ['img/player/playerleft1.png','img/player/playerleft0.png','img/player/playerleft2.png','img/player/playerleft0.png']
  playeranimationright = ['img/player/playerright1.png','img/player/playerright0.png','img/player/playerright2.png','img/player/playerright0.png']
  
  
  pygame.mixer.music.load('audio/music/ambient.mp3')
  pygame.mixer.music.set_endevent(pygame.constants.USEREVENT)
  pygame.mixer.music.play()
  pygame.display.set_caption('Game')
  pygame.event.set_allowed([pygame.QUIT, pygame.KEYDOWN, pygame.KEYUP])
  
  colliders = [house1collideRect, house2collideRect, rock1collideRect]
  blitrects = [house1imagerect, house2imagerect, rock1imagerect]
  blitimages = [house1image, house2image, rock1image]
  blitypositions = [rock1y, house1y, house2y]
  
  while 1:
  
      clock.tick(500)
  
      for event in pygame.event.get():
          if event.type == pygame.QUIT: sys.exit()
  
      if y &gt; 720-75-100:
          y = 720-75-100
          scrolly -= 1
      if y &lt; 0+75+100:
          y = 0+75+100
          scrolly += 1
      if x &gt; 1000-37-100:
          x=1000-37-100
          scrollx -=1
      if x &lt; 0+37+100:
          x = 0+37+100
          scrollx +=1
  
  
      for collider in colliders:
          if playercollideRect.colliderect(collider):
              if lastkey == 'left':
                  x += 1
              if lastkey == 'right':
                  x -= 1
              if lastkey == 'up':
                  y += 1
              if lastkey == 'down':
                  y -= 1
              collision = True
          else:
              collision = False
  
  
      keys = pygame.key.get_pressed()
      if keys[pygame.K_UP] or keys[pygame.K_DOWN] or keys[pygame.K_LEFT] or keys[pygame.K_RIGHT]:
          if keys[pygame.K_UP]:
              y -= 1
  
              if not collision == True:
                  playerimage = pygame.image.load(playeranimationup[int(math.floor(counter/50))]).convert_alpha()
                  counter = (counter + 1) % 200
              lastkey = 'up'
  
  
          elif keys[pygame.K_DOWN]:
              y += 1
              if not collision == True:
                  playerimage = pygame.image.load(playeranimationdown[int(math.floor(counter/50))]).convert_alpha()
                  counter = (counter + 1) % 200
              lastkey = 'down'
  
  
          elif keys[pygame.K_RIGHT]:
              x += 1
              if not collision == True:
                  playerimage = pygame.image.load(playeranimationright[int(math.floor(counter/50))]).convert_alpha()
  
                  counter = (counter + 1) % 200
              lastkey = 'right'
  
          elif keys[pygame.K_LEFT]:
              x -= 1
  
              if not collision == True:
                  playerimage = pygame.image.load(playeranimationleft[int(math.floor(counter/50))]).convert_alpha()
  
                  counter = (counter + 1) % 200
              lastkey = 'left'
  
  
  
  
      playerimagerect.centerx = x
      playerimagerect.centery = y
  
  
      house1imagerect.centerx = house1x+scrollx
      house1imagerect.centery = house1y+scrolly
  
      house2imagerect.centerx = house2x+scrollx
      house2imagerect.centery = house2y+scrolly
  
  
  
      playercollideRect.midbottom = playerimagerect.midbottom
  
      house1collideRect.midbottom = house1imagerect.midbottom
      house2collideRect.midbottom = house2imagerect.midbottom
  
      rock1collideRect.midbottom = rock1imagerect.midbottom
  
  
      realx = x-scrollx
      realy = y-scrolly
  
  
  
      for image, imagerect, imageypos in blitimages, blitrects, blitypositions:
          if realy &lt; imageypos:
              screen.blit(playerimage, playerimagerect)
              screen.blit(image, imagerect)
          if realy &gt; imageypos:
              screen.blit(image, imagerect)
              screen.blit(playerimage, playerimagerect)
  
          if realy == imageypos:
              screen.blit(image, imagerect)
              screen.blit(playerimage, playerimagerect)
  
  
  
  
  
      label = gamefont.render(str('FPS: '+str(clock.get_fps())), 1, (255,255,0))
      screen.blit(label, (50, 50))
  
      pygame.display.flip()
      screen.fill(screencolor)
  </code></pre>
  
  <p>That's the code for a small project I'm working on but for some reason I'm getting this error:</p>
  
  <pre><code>File "C:\Users\Isaac\Desktop\python kick\game\game.py", line 186, in &lt;module&gt;
  screen.blit(image, imagerect)
  TypeError: invalid destination position for blit
  </code></pre>
  
  <p>Any insight on my problem? I've been testing and searching for quite a while.</p>