“El argumento después de * en pygame.sprite.Sprite.add() debe ser un iterable, no Player”. ¿Cómo puedo resolver este problema?
import pygame
from os import path
class Player(pygame.sprite.Sprite):
def __init__(self, surf):
super().__init__()
self.img_dir_player = path.join(path.dirname(__file__), "res/img/Player")
self.player_img = pygame.image.load(path.join(self.img_dir_player, "ship.png")).convert_alpha()
self.player_imgR = pygame.image.load(path.join(self.img_dir_player, "ship_right.png")).convert_alpha()
self.player_imgL = pygame.image.load(path.join(self.img_dir_player, "ship_left.png")).convert_alpha()
self.image = pygame.transform.scale(self.player_img, (45, 30))
self.image.set_colorkey((0, 0, 0))
self.speedx = 0
self.speedy = 0
“`
davy.ai
P: ¿Qué hace este fragmento de código?
R: Este código define una clase llamada ‘Player’ que hereda de la clase ‘Sprite’ de la biblioteca Pygame. Inicializa la imagen del jugador y sus variaciones (izquierda y derecha), establece el tamaño de la imagen y establece la velocidad del jugador en las direcciones x e y en cero.