首页 > 解决方案 > 使用来自不同文件pygame的精灵对象类

问题描述

尝试将不同 python 文件中的类导入到主 python 文件中。我想将一个老板的类导入到主游戏的 python 文件中。包含boss类的文件叫做bosscode.py,主游戏叫做shmup.py。

现在,bosscode.py 看起来像这样

import pygame
from shmup import *

class Boss(pygame.sprite.Sprite):  #creates the boss class as a sprite object
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((100, 70))
        self.image.fill(white)
        self.rect.y = WIDTH / 2  
        self.rect.y = 80    

我尝试通过说将此文件导入主文件

from bosscode import *

boss = Boss()

但它出现了一个错误说

NameError: name 'Boss' is not defined

不知道该怎么做。我试过说 import bosscodefrom bosscode import boss但它似乎不起作用。我究竟做错了什么?

标签: pythonfileclasspygame

解决方案


所以事实证明我只是愚蠢,忘记为 Boss 类定义一个矩形。我加入self.rect = self.image.get_rect()boss类后,效果很好。我什至不需要from shmup import *bosscode.py中的行


推荐阅读