我正在尝试使用pygame显示图像,但出现此错误:
回溯(最近通话最近): 在第28行中输入文件“ H:/profile/desktop/untitled/venv/Scripts/AhjaiyGame.py” 开始= pygame.image.load(os.path.join(文件夹,“ wecvguh.png”)) pygame.error:无法打开H:\ profile \ desktop \ untitled \ venv \ Scripts \ wecvguh.png
代码块:
import sys
import random
import os
import subprocess
import pygame
pygame.init()
GUI = pygame.display.set_mode((800,600))
pygame.display.set_caption("The incredible guessing game")
x = 284
y = 250
width = 68
length = 250
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run =False
if event.type == pygame.KEYDOWN:
command = "python AhjaiyCPT.py"
subprocess.call(command)
pygame.display.update()
folder = os.path.dirname(os.path.realpath(__file__))
start = pygame.image.load(os.path.join(folder, "wecvguh.png"))
def img(x,y):
gameDisplay.blit(start, (x,y))
while run:
gameDisplay.fill(white)
start(x, y)
pygame.quit()
答案 0 :(得分:1)
该代码具有两个“运行”循环,因此它永远不会到达第二个循环。
代码的缩进感到困惑-可能是从粘贴到SO?绝大多数程序员使用4个空格来缩进。这可能是一个很好的习惯。
该代码还在每次循环迭代时都加载了“开始”映像,这是不必要的(除非它在磁盘上已更改,在这种情况下,请使用os.stat()
在重新加载之前检查更改)。
重新设计的主循环:
folder = os.path.dirname(os.path.realpath(__file__))
start = pygame.image.load(os.path.join(folder, "wecvguh.png"))
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.KEYDOWN:
command = "python AhjaiyCPT.py"
subprocess.call(command)
gameDisplay.fill(white)
gameDisplay.blit(start, (x,y))
pygame.display.update()
pygame.quit()