Pygame no la fusión de la imagen,en lugar de escupir tipo de error

0

Pregunta

Así que yo estaba viendo este tutorial en línea sobre pygame como soy muy nuevo en pygame. Así que lo que hicimos fue crear un jugador (a) la función y, a continuación, blit ella. Así que yo hice lo mismo. Para él, él lo consigue a la perfección blitted, pero para mí, me da un error de tipo. Lo único diferente entre su código y la mía es de las dimensiones de la ventana y la clase de jugador y colores. He intentado buscar en el desbordamiento de la pila, pero la única pregunta relevante fue sin contestar. No estoy seguro de lo que salió mal.

error completo:

/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

código completo:

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

Mejor respuesta

0

Usted ha utilizado el nombre de jugador dos veces. Es la superficie devuelto por pygame.image.load('cat.png') y la función que blits a la pantalla. Cambiar el nombre de la player la función drawPlayer

2021-12-22 18:50:39

En otros idiomas

Esta página está en otros idiomas

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