Probleme mit pygame.display.update()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lengeta
User
Beiträge: 6
Registriert: Freitag 19. März 2021, 12:14

Ich habe vor kurzem mit Python angefangen und wollte mich jetzt an Pong versuchen.
Nur irgendwie bekomme ich immer in Zeile 12 (pygame.display.update()) immer einen Syntax Fehler und ich weiß nicht warum.
Gruß Lengeta

Code: Alles auswählen

import pygame
import sys

pygame.init() 

screen = pygame.display.set_mode([1400,800])
clock = pygame.time.Clock()

#Draw
def zeichnen():
	mdl_line = pygame.draw.Rect(screen, (0,0,255), (695,0,10,800), 0)	
	pygame.draw.Rect(screen, (255,255,255,) (x,y,breite,höhe)
	pygame.display.update()
#Spieler
x = 20
y = 360
höhe = 80
breite = 20

#Game loop
game = True
while game
	for event in pygame.event.get()
		if event.type == pygame.QUIT: sis.exit()

#Movement
	spieler = pygame.Rect (x,y,höhe,breite)

	zeichnen()
	clock.tick(60)
MupfSpace
User
Beiträge: 169
Registriert: Montag 25. Dezember 2017, 20:26

Hallo, das ist die erste Frage die ich überhaupt beantworte, normalerweise stelle ich immer nur Fragen 😅
allerdings hatte ich jetzt Lust bekommen auch mal was zu beantworten :)

Du musst in Zeile 12 noch eine klammer schließen:

Code: Alles auswählen

pygame.draw.Rect(screen, (255,255,255,) (x,y,breite,höhe)) 
das ist aber nicht der einzige Fehler...
in zeile 22 und 23 fehlt der Doppelpunkt:

Code: Alles auswählen

while game:
	for event in pygame.event.get():
		if event.type == pygame.QUIT: sis.exit()
ich hoffe ich konnte dir weiterhelfen :)
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

@MupfSpace: in Deiner ersten Zeile fehlt auch noch ein Komma.

@Lengeta: beim Programmieren muß man auf jedes Satzzeichen achten.
Eingerückt wird immer mit 4 Leerzeichen pro Ebene, und nicht mit Tabs.
sis ist auch etwas anderes als sys.
Wobei sys.exit eigentlich nicht verwendet werden sollte. Am besten verläßt man einfach die main-Funktion per return, wenn man denn eine hätte. Und Funktionen müssen alles, was sie brauchen, per Argumente bekommen.
Das Flag `game` wird gar nicht benutzt.
Antworten