почему не блит изображение? - PullRequest
1 голос
/ 07 марта 2020

Я пробовал поместить цвет заливки перед блитом, но он не сработает. Я использую python 3.8.2, windows 10 и Pygame 1.9.6. Пожалуйста, помогите, между прочим, следуя этому учебнику (я новичок в pygame), и вот мой код

import pygame

#initialize
pygame.init()

#screen
screen = pygame.display.set_mode((800, 600))

#things
pygame.display.set_caption("space invaders 1.0")
icon = pygame.image.load('ufo.png')
pygame.display.set_icon(icon)

#player settings
playerimg = pygame.image.load('space-invaders.png')
playerx = 370
playery = 430

#define player
def player():
   screen.blit(playerimg, (playerx, playery))

#loop
running = True
while running:

   #rgb
   screen.fill((10, 0, 0))

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

   player()
   pygame.display.update()

#end process
pygame.quit()
exit()

Я отвечу на любые вопросы (примечание: сбой при нажатии «x» и выход при Я нажимаю '-' ИДК почему)

1 Ответ

1 голос
/ 07 марта 2020

pygame.QUIT не является функцией - это константа, просто целое число, представляющее событие QUIT. Вы не можете сделать if event.type == pygame.QUIT(), вам нужно сделать if event.type == pygame.QUIT, без скобок.

Вам также не нужно вызывать pygame.quit() и exit() в конце программы - оба pygame и сама программа будет остановлена, когда программа достигнет своего конца.

Кроме того, ваша программа работает для меня, изображения показывают. Убедитесь, что ваше изображение видно на черном фоне, и если оно есть и у вас все еще есть проблемы, я постараюсь помочь вам с ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...