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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在这段代码中得到“窗口未定义在第18行”,即使我喜欢99%确定我明确定义它显然有些错误但是idk是什么相关的知识,希望对你有一定的参考价值。

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

答案

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

window = pygame.display.set_mode((window_width, window_height), pygame.HWSURFACE|pygame.DOUBLEBUF)
另一答案

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

以上是关于在这段代码中得到“窗口未定义在第18行”,即使我喜欢99%确定我明确定义它显然有些错误但是idk是什么的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在这段代码中得到“未知类型名称 NSManagedObjectContext”?

我喜欢从双重列表中消除重复的组件,然后合并双重列表

下一步是啥();在这段代码中?

string::npos 在这段代码中是啥意思?

Object.create(Class.prototype) 在这段代码中做了啥?

& 在这段代码中的作用是啥?