2017-08-23 2 views
0

Je viens de commencer à utiliser PyGame et j'essaye de faire un message aux joueurs quand ils perdent, mais je reçois une erreur.Erreur PyGame: Argument RGBA

red = (2555, 0, 0) 
font = pygame.font.SysFont(None, 25) 

def message_to_screen(msg,color): 
    screen_text = font.render(msg, True, color) 
    gameDisplay.blit(screen_text, [display_width/2, display_height/2]) 

--etc etc

message_to_screen("You Lose", red) 
pygame.display.update() 

time.sleep(2) 

Le message d'erreur est exacte

screen_text = font.render(msg, True, color) 
TypeError: Invalid foreground RGBA argument 

Je ne peux pas trouver de réponses en ligne. S'il vous plaît aider!

+1

Chaque canal a une plage de 0 à 255. 2555 est trop grand. – Arkia

Répondre

0

Votre problème est avec la définition de votre couleur:

red = (2555, 0, 0) 

Les valeurs possibles pour chaque canal RVB peuvent être compris entre 0 et 256 (exclusif). Cela signifie que 2555 est waaay à grand. Pygame voit cela et pose correctement une erreur. Si vous essayez de coder la valeur RVB de la couleur rouge, vous devez utiliser 255 pas 2555:

red = (255, 0, 0) 

Comme une note de côté, vous trouverez peut-être quelque chose comme un RGB color selector être utile alors que dans le processus de choisir des couleurs pour votre jeu.