我的代码给我一个元组错误,我不知道为什么
my code gives me a tuple error and i dont know why
主要代码
- 我真的不知道为什么我总是收到元组错误代码看起来不错
- 目前只是我游戏的循环部分,就是这样
import pygame
# important window variables
WIDTH, HEIGHT = 900, 500
WIN = WIDTH, HEIGHT
SCREEN = pygame.display.set_mode((WIN))
pygame.display.set_caption('SPACE GAME')
WHITE = (0,0,0)
# display function (what shows up on the screen)
def display():
WIN.fill(WHITE)
pygame.display.update()
# main function/loop function
def main():
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
display()
pygame.quit()
if __name__ == '__main__':
main()
我相信这就是问题所在(尽管没有真正的错误回溯,我可能是错的。)
基本问题是您将 WIN
的值设置为元组
IE。
WIN = BASE, HEIGHT
然后在 display()
函数中,执行以下操作:
WIN.fill(WHITE)
这就是我认为的错误。 WIN
作为一个元组,
没有 fill
方法。我想你想用的是
SCREEN.fill(WHITE)
我看了一下文档(因为我不知道 pygame),
它确认:pygame.display.set_mode((WIN))
returns 一个 Surface
对象 有一个 fill()
方法。
所以,总而言之:
# important window variables
WIDTH, HEIGHT = 900, 500
WIN = WIDTH, HEIGHT
SCREEN = pygame.display.set_mode((WIN))
pygame.display.set_caption('SPACE GAME')
WHITE = (0,0,0)
# display function (what shows up on the screen)
def display():
SCREEN.fill(WHITE)
pygame.display.update()
# main function/loop function
def main():
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
display()
pygame.quit()
if __name__ == '__main__':
main()
主要代码
- 我真的不知道为什么我总是收到元组错误代码看起来不错
- 目前只是我游戏的循环部分,就是这样
import pygame
# important window variables
WIDTH, HEIGHT = 900, 500
WIN = WIDTH, HEIGHT
SCREEN = pygame.display.set_mode((WIN))
pygame.display.set_caption('SPACE GAME')
WHITE = (0,0,0)
# display function (what shows up on the screen)
def display():
WIN.fill(WHITE)
pygame.display.update()
# main function/loop function
def main():
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
display()
pygame.quit()
if __name__ == '__main__':
main()
我相信这就是问题所在(尽管没有真正的错误回溯,我可能是错的。)
基本问题是您将 WIN
的值设置为元组
IE。
WIN = BASE, HEIGHT
然后在 display()
函数中,执行以下操作:
WIN.fill(WHITE)
这就是我认为的错误。 WIN
作为一个元组,
没有 fill
方法。我想你想用的是
SCREEN.fill(WHITE)
我看了一下文档(因为我不知道 pygame),
它确认:pygame.display.set_mode((WIN))
returns 一个 Surface
对象 有一个 fill()
方法。
所以,总而言之:
# important window variables
WIDTH, HEIGHT = 900, 500
WIN = WIDTH, HEIGHT
SCREEN = pygame.display.set_mode((WIN))
pygame.display.set_caption('SPACE GAME')
WHITE = (0,0,0)
# display function (what shows up on the screen)
def display():
SCREEN.fill(WHITE)
pygame.display.update()
# main function/loop function
def main():
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
display()
pygame.quit()
if __name__ == '__main__':
main()