pygame script funktioniert nicht

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
Tim0123
User
Beiträge: 24
Registriert: Mittwoch 10. Februar 2021, 14:35

Hey, ich habe das aus einem Youtube Tutorial und bei mir funktioniert der Code nicht. Weiß jemand warum ?

Code: Alles auswählen

import pygame
from sys import exit

pygame.init()
screen = pygame.display.set_mode((800,400))
pygame.display.set_caption('Runner')
clock = pygame.time.Clock()

test_surface = pygame.Surface((100, 200))
test_surface.fill("Red")

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

    screen.blit(test_surface,(0,0))

    pygame.display.update()
    clock.tick(60)
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was heisst den "funktioniert nicht"? Explodiert dein Computer? Oder fliesst das Klo ueber?
Tim0123
User
Beiträge: 24
Registriert: Mittwoch 10. Februar 2021, 14:35

es öffnet sich und schließt sich danach direkt wieder
Fehlermeldung:
Traceback (most recent call last):
File "C:\Users\Tim\Desktop\Clear code\The ultimate introduction to Pygame.py", line 10, in <module>
test_surface.fill("Red")
TypeError: invalid color argument
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na das sagt dir doch, dass "Red" nicht klappt. Und ich vermute mal, das liegt an der schreibweise. Schau mal hier, da ist die Liste der erlaubten Namen: https://mike632t.wordpress.com/2018/02/ ... in-pygame/
Tim0123
User
Beiträge: 24
Registriert: Mittwoch 10. Februar 2021, 14:35

Code: Alles auswählen

import pygame
from sys import exit

pygame.init()
screen = pygame.display.set_mode((800,400))
pygame.display.set_caption('Runner')
clock = pygame.time.Clock()

test_surface = pygame.Surface((100, 200))
test_surface.fill('aquamarine4')

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

    screen.blit(test_surface,(0,0))

    pygame.display.update()
    clock.tick(60)
da kommt die gleiche Fehlermeldung und es passiert das gleiche
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann nimm statt dem Namen einfach (255, 0, 0), das ist die Farbe rot.
Tim0123
User
Beiträge: 24
Registriert: Mittwoch 10. Februar 2021, 14:35

da ändert sich auch nichts
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das glaube ich nicht, denn ich habe es ausprobiert. Zeig also bitte, was *genau* du machst.
Tim0123
User
Beiträge: 24
Registriert: Mittwoch 10. Februar 2021, 14:35

Code: Alles auswählen

import pygame
from sys import exit

pygame.init()
screen = pygame.display.set_mode((800,400))
pygame.display.set_caption('Runner')
clock = pygame.time.Clock()

test_surface = pygame.Surface((100, 200))
test_surface.fill('255, 0, 0')
while True:
    for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()

    screen.blit(test_surface,(0,0))

    pygame.display.update()
    clock.tick(60)
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist ja auch nicht, was ich gesagt habe. Statt "farbname" musst du (255, 0, 0) nehmen. Nicht eine Mischung aus String und Tupel.

Code: Alles auswählen

import pygame
from sys import exit

pygame.init()
screen = pygame.display.set_mode((800,400))
pygame.display.set_caption('Runner')
clock = pygame.time.Clock()

test_surface = pygame.Surface((100, 200))
test_surface.fill((255, 0, 0))

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

    screen.blit(test_surface,(0,0))

    pygame.display.update()
    clock.tick(60)
Antworten