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()