属性错误: 'function' 对象没有属性 'set_mode'

2024-04-26 13:03:39 发布

您现在位置:Python中文网/ 问答频道 /正文

试图编码游戏,但得到这个错误。在

AttributeError:“function”对象没有属性“set\u mode”

from pygame import *
import sys
from os.path import abspath, dirname
from random import randint, choice
from IPython.core.display import display

SCREEN = display.set_mode((800, 600))
FONT = FONT_PATH + 'space_invaders.ttf'
IMG_NAMES = ['ship', 'mystery',
             'enemy1_1', 'enemy1_2',
             'enemy2_1', 'enemy2_2',
             'enemy3_1', 'enemy3_2',
             'explosionblue', 'explosiongreen', 'explosionpurple',
             'laser', 'enemylaser']
IMAGES = {name: image.load(IMAGE_PATH + '{}.png'.format(name)).convert_alpha()
          for name in IMG_NAMES}

还有

名称错误:未定义名称“image”

你知道我做错了什么吗?谢谢


Tags: pathnamefromimageimportimgnamesmode
1条回答
网友
1楼 · 发布于 2024-04-26 13:03:39

您可以from pygame import *,但这将不允许您调用例如display.set_mode/image.load,因为display和{}模块。在

您的代码应该如下所示:

import pygame
import sys
from os.path import abspath, dirname
from random import randint, choice

SCREEN = pygame.display.set_mode((800, 600))
FONT = FONT_PATH + 'space_invaders.ttf'
IMG_NAMES = ['ship', 'mystery',
             'enemy1_1', 'enemy1_2',
             'enemy2_1', 'enemy2_2',
             'enemy3_1', 'enemy3_2',
             'explosionblue', 'explosiongreen', 'explosionpurple',
             'laser', 'enemylaser']
IMAGES = {name: pygame.image.load(IMAGE_PATH + '{}.png'.format(name)).convert_alpha()
          for name in IMG_NAMES}

通常,您应该避免像from pygame import *这样的全局导入。在

(我猜from IPython.core.display import display是从IDE自动导入的或者类似的东西)。在

相关问题 更多 >