我要为小程序创建一个菜单,显示this image。我正在使用this tutorial。我的代码如下所示:
import pygame
pygame.init()
height = 1366 #The height and width of our window
width = 769
window = pygame.display.set_mode((height,width))
pygame.display.set_caption("Score")
white = (255,255,255) #This block defines all the colors in (R,G,B) format
clock = pygame.time.Clock()
crashed = False
flask = pygame.image.load('flask.jpg') #This block is for loading all images
def flask(x_f,y_f):
window.blit(flask(x_f,y_f))
x_f = (width * 0.45)
y_f = (height * 0.8)
while not crashed:
for event in pygame.event.get():
if event.type == pygame.QUIT:
crashed = True
window.fill(white)
flask(x_f,y_f)
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
但是,我一直收到运行时错误:RecursionError:超出了最大递归深度。这些是第19行(3次)和29次(一次)。我一直在想我到底做错了什么,因为我一直在密切关注这个教程。
答案 0 :(得分:1)
这是因为flask
函数一次又一次地调用其函数体内部,直到超过1000次递归的最大递归深度(默认值)。
为图像指定一个不同的名称,然后在flask
函数中将其blit。
# Use the `convert` method to improve the performance.
flask_image = pygame.image.load('flask.jpg').convert()
def flask(x_f, y_f):
window.blit(flask_image, (x_f, y_f))