为什么从我导入的文件中获取的变量会出现NameError?

-1 投票
0 回答
36 浏览
提问于 2025-04-12 03:22
import pygame, sys
from settings import *

#initialize pygame
pygame.init()

#variables
screen = pygame.display.set_mode((screen_width, screen_height))
run = True
clock = pygame.time.Clock()

#game loop
while run == True:

#event handler
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    screen.fill("black")
    
    pygame.display.update()
# framerate     |
    clock.tick(60)

pygame.quit()

这是我的第一个文件。screen_width 和 screen_height 这两个变量看起来没有错误,但是当我尝试运行我的代码时,却收到了这个信息:

Traceback (most recent call last):
  File "c:\Users\missu\.vscode\Python Files\Games(Using Pygame)\2d platformer(mario) - Clear Code\main.py", line 8, in <module>
    screen = pygame.display.set_mode((screen_width, screen_height))
                                      ^^^^^^^^^^^^
NameError: name 'screen_width' is not defined

这是我的第二个文件(我导入的那个):

level_map = [
"                             ",
"                             ",
"                             ",
" XX    XXX             XX    ",
" XX                          ",
" XXXX          XX         XX ",
" XXXX        XX              ",
" XX    X   XXXX    XX  XX    ",
"      X   XXXX    XX  XXX    ",
"   XXXX   XXXXXX  XX  XXXX   ",
"XXXXXXX   XXXXXX  XX  XXXX   "]

height = len(level_map)
tile_size = 64
screen_width = 1200
screen_height = tile_size * height

我正在跟着 Clear Code 的教程学习如何制作一个平台游戏,所以我尝试重新播放视频,检查每一行代码是否完全一样。我检查过了,确实每一行都一样。我尝试了不同的方式导入这个文件,但无论我怎么做都没有成功。如果有人能帮我,我会非常感激。

0 个回答

暂无回答

撰写回答