Pygame pas blitting image,au lieu de cracher type d'erreur

0

La question

J'ai donc été à regarder ce tutoriel en ligne sur pygame que je suis très nouveau pour pygame. Donc, ce qu'il a fait a été de créer un joueur() et la fonction puis blit il. J'ai donc fait la même. Pour lui, il l'obtient parfaitement blitted, mais pour moi, j'obtiens une erreur de type. La seule chose différente entre son code et le mien est les dimensions de la fenêtre et joueur de classe et de couleurs. J'ai essayé de chercher ici dans le débordement de la pile, mais la seule question pertinente est sans réponse. Pas sûr de ce qui s'est mal passé.

plein d'erreur:

/home/Command Blocks/Desktop/venv/bin/python "/home/CommandBlocks/Desktop/CLASS_/Studies/Computer/python/practice/space shooter/main.py"
pygame 2.0.2 (SDL 2.0.16, Python 3.9.5)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "/home/Command Blocks/Desktop/CLASS_/Studies/Computer/python/practice/space shooter/main.py", line 33, in <module>
    player()
  File "/home/Command Blocks/Desktop/CLASS_/Studies/Computer/python/practice/space shooter/main.py", line 20, in player
    screen.blit(player, (playerX, playerY))
TypeError: argument 1 must be pygame.Surface, not function

Process finished with exit code 1

code complet:

import pygame

#Initialize pygame module
pygame.init()

#Create Screen
screen = pygame.display.set_mode((1000, 600))

#Title and Icon
pygame.display.set_caption("Jungle Invader")
icon = pygame.image.load('fox-sitting.png')
pygame.display.set_icon(icon)

# Player
player = pygame.image.load('cat.png')
playerX = 300
playerY = 500

def player():
    screen.blit(player, (playerX, playerY))


#Main loop
running = True
while running:
    pygame.display.update()

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((244, 232, 255))
    player()
pygame python python-3.x
2021-11-23 13:55:58
1

La meilleure réponse

0

Vous avez utilisé le nom de joueur deux fois. C'est la surface retourné par pygame.image.load('cat.png') et de la fonction blits pour l'écran. Renommer le player la fonction de drawPlayer

2021-12-22 18:50:39

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................