在这段代码中得到“窗口未定义在第18行”,即使我喜欢99%确定我明确定义它显然有些错误但是idk是什么

问题描述 投票:0回答:2
import pygame, sys
pygame.init

def create_window():
    global window, window_height, window_width, window_title
    window_width, window_height = 800, 600
    window_title = "Imortal Dragon"
    pygame.display.set_caption(window_title)
    pygame.display.set_mode((window_width, window_height), 
pygame.HWSURFACE|pygame.DOUBLEBUF)

create_window()

IsRunning = True
while IsRunning:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            IsRunning = False
    window.fill((0,0,0))
    pygame.display.update()
pygame.quit()
sys.exit()

这是我得到的错误:

Traceback (most recent call last):
  File ".\imortal_dragon.py", line 18, in <module>
    window.fill((0,0,0))
NameError: name 'window' is not defined

不确定我做错了什么我跟随youtube上的教程,看起来我完全遵循一切但我必须缺少一些东西,因为它不能正常工作https://www.youtube.com/watch?v=C-z9nUttMcI

python-3.x pygame
2个回答
1
投票

pygame.display.set_mode返回一个pygame.Surface,您必须将其分配给变量,在本例中为全局window变量:

window = pygame.display.set_mode((window_width, window_height), pygame.HWSURFACE|pygame.DOUBLEBUF)

0
投票

从我所看到的,全局变量window不会在任何地方使用。使用高度,宽度和标题但不使用窗口。

© www.soinside.com 2019 - 2024. All rights reserved.