Python Forum

Full Version: PLEASE HELP! TypeError: unsupported operand type(s) for +: 'pygame.Surface' and 'int'
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Very new coder here. Line 32 says player = pygame.draw.rect(gDisplay, red, ((gDisplay + playerStartingx),(gDisplay + playerStartingy), 60, 60), 0)
TypeError: unsupported operand type(s) for +: 'pygame.Surface' and 'int'

import pygame
import time
import random
import sys

pygame.init()

#screen variables
sWidth = 1280
sHeight = 720

#colours
red = (255,0,0)
black = (0,0,0)
white = (255,255,255)

#Main mechanics
gDisplay = pygame.display.set_mode((sWidth,sHeight))
clock = pygame.time.Clock()
pygame.display.set_caption('Zube')

def gameStart():

    #Mechanics
    gDisplay.fill(white)
    pygame.display.update()
    clock.tick(60)

    #Shapes and stuff
    playerStartingx = 64
    playerStartingy = 36
    player = pygame.draw.rect(gDisplay, red, ((gDisplay - playerStartingx),(gDisplay - playerStartingy), 60, 60), 0)
    pygame.display.update()

    #Game Loop Variable
    playing = True

    while playing:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()





gameStart()
gDisplay is an object of type pygame.Surface, you probably meant its width and height
(gDisplay.get_width() - playerStartingx),(gDisplay.get_height() - playerStartingy)