#python #python-3.x #pygame
#python #python-3.x #pygame
Вопрос:
Это моя первая публикация в Stack Overflow, поэтому, пожалуйста, дайте мне знать, могу ли я сделать что-нибудь лучше, чтобы задать свой вопрос!
Вот учебник, которому я следую, с отметкой о том, где я был. Я использую VSCode Python и Pygame. https://youtu.be/UZg49z76cLw?t=1138
У меня есть файл в указанном каталоге, и я убедился, что он назван правильно, скопировав его.
Всякий раз, когда я запускаю свой код, bg_surface не отображается на моем экране. Раньше он говорил, что его не существует, но я ввел полный адрес файла, и он перестал это делать, но по-прежнему не отображает фактическое изображение. Я также хотел бы отказаться от использования полного пути к файлу, поскольку я не смогу его отправить … import pygame, sys
pygame.init()#initiating pygame
screen = pygame.display.set_mode((576,1024))#Set canvas size
clock = pygame.time.Clock()
bg_surface = pygame.image.load('C:\Users\{my_name}\MyPythonScripts\Flapp\assets\background-day.png')
bg_surface = pygame.transform.scale2x(bg_surface)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()#Ends the game
sys.exit()#ends the program
screen.blit(bg_surface,(0,0))#Blit puts a surface on another surface
pygame.display.update#Update screen
clock.tick(120)#Set framerate
Вещи, которые я пробовал:
bg_surface = pygame.image.load('C:\Users\{my_name}\MyPythonScripts\Flapp\assets\background-day.png')
bg_surface = pygame.image.load('assets\background-day.png')
bg_surface = pygame.image.load('assets/background-day.png')
bg_surface = pygame.image.load(r'assets/background-day.png')
bg_surface = pygame.image.load(r'assetsbackground-day.png')
bg_surface = pygame.image.load('assetsbackground-day.png')
И множество подобных вариаций. Бонусные баллы, если вы можете сказать мне, почему я получаю:
Exception has occurred: SystemExit
File "C:UsersCorbinMyPythonScriptsFlappflapp.py", line 14, in <module>
sys.exit()#ends the program
Когда я закрываю программу… Спасибо!
Комментарии:
1. Вы не вызываете
pygame.display.update
, вы просто ссылаетесь на него. Чтобы вызвать его, вам нужны круглые скобки :pygame.display.update()
. И вы получаетеSystemExit
исключение, потому что вы вызываетеsys.exit()
.2. Вы решили мою проблему с фоном! Ты крут!! И я должен быть в порядке с появлением этой ошибки? в руководстве говорится, что это то, что мне нужно туда вставить…
3. Об
SystemExit
исключении беспокоиться не о чем, это связано с обработкой исключений в вашей IDE.
Ответ №1:
Корбин, ты не поставил скобки в конце pygame.display.update
. Скорее это должно быть pygame.display.update()
. Именно тогда вы сможете получить фоновое изображение.