Вы должны добавить атрибут .rect
к Player
:
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.images = []
img = pygame.image.load(os.path.join('images','hero.png')).convert()
self.images.append(img)
self.image = self.images[0]
self.rect = self.image.get_rect() # <----
self.rect.x = 40
self.rect.y = 30
Создать экземпляр Player. Создайте pygame.sprite.Group
и add
palyer
:
player = Player()
all_sprites = pygame.sprite.Group()
all_sprites.add(player)
Используйте draw()
, чтобы нарисовать все спрайты в группа. draw
использует атрибуты спрайтов image
и rect
, чтобы нарисовать всех спрайтов в группе:
all_sprites.draw(world)
Уважать отступ :
while main == True:
# handle events
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit(); sys.exit()
main = False
if event.type == pygame.KEYDOWN:
if event.key == ord('q'):
pygame.quit()
sys.exit()
main = False
# draw background
world.blit(backdrop, backdropbox)
# draw scene
all_sprites.draw(world)
# update display
pygame.display.flip()
clock.tick(fps)