我遇到以下代码的问题:
import pygame, sys, time
from scripts.UltraColor import *
pygame.init()
cSec = 0
cFrame = 0
FPS = 0
fps_font = pygame.font.Font("C:\\Windows\\Fonts\\Verdana.ttf", 20)
def show_fps():
fps_overlay = fps_font.render(str(FPS), True, color.Goldenrod)
window.blit(fps_overlay, (0, 0))
def create_window():
global window, window_height, window_width, window_title
window_width, window_height = 1280, 720
window_title = "The Adventure of Nate"
pygame.display.set_caption(window_title)
window = pygame.display.set_mode((window_width, window_height, pygame.HWSURFACE | pygame.DOUBLEBUF))
def count_fps():
global cSec, cFrame, FPS
if cSec == time.strftime("%S"):
cFrame += 1
else:
FPS = cFrame
cFrame = 0
cSec = time.strftime("%S")
create_window()
isrunning = True
while isrunning == True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
isrunning = False
# LOGIC
count_fps()
# Rendering Graphics
window.fill(color.Black)
show_fps()
pygame.display.update()
pygame.quit()
sys.exit()

此代码返回以下错误:
C:\ Python3.6 \ python.exe" C:/ Users / home / PycharmProjects / Basic RPG / Base Game.py" Traceback(最近一次调用最后一次): File" C:/ Users / home / PycharmProjects / Basic RPG / Base Game.py",第38行,in create_window() 文件" C:/ Users / home / PycharmProjects / Basic RPG / Base Game.py",第23行,在create_window中 window = pygame.display.set_mode((window_width,window_height,pygame.HWSURFACE | pygame.DOUBLEBUF)) TypeError:参数1必须是长度为2的序列,而不是3
使用退出代码1完成处理
如果有人知道如何更正此代码,请回复。
答案 0 :(得分:0)
正如您在the documentation中所看到的,set_mode
函数采用元组(width, height)
和其他参数。你正在传递一个元组。正确的代码应如下所示(注意括号):
window = pygame.display.set_mode((window_width, window_height), pygame.HWSURFACE | pygame.DOUBLEBUF)