Python 名称错误:全局名称';自我';未定义我无法修复此问题 导入pygame,随机 pygame.init() screen=pygame.display.set_模式((640480)) 等级船(pygame.sprite.sprite): 定义初始化(自): pygame.sprite.sprite.\uuuuu init\uuuuuuu(自我) self.screen=屏幕 self.image=pygame.image.load(“ship.jpg”) self.image=self.image.convert() self.rect=self.image.get_rect() self.rect.center=(320400) self.dx=0 self.dy=0 self.x=self.rect.centerx self.y=self.rect.centery def更新(自我): self.checkBounds() def检查边界(自): screen=self.screen 如果self.x>screen.get_width(): self.x=screen.get_width() 如果self.xscreen.get_height(): self.reset() def重置(自): self.rect.bottom=0 self.rect.centerx=random.randrange(0,screen.get_width()) self.dy=random.randrange(5,10) def main(): background=pygame.Surface(screen.get_size()) 背景填充((0,0,0)) 屏幕光点(背景,(0,0)) ship=ship() 导弹 allSprites=pygame.sprite.Group(导弹、飞船) clock=pygame.time.clock() 继续=正确 继续进行时: 时钟滴答(30) 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: 继续=错误 elif event.type==pygame.KEYDOWN: 如果event.key==pygame.K_左: ship.rect.centerx=ship.rect.centerx-10 elif event.key==pygame.K_RIGHT: ship.rect.centerx=ship.rect.centerx+10 elif event.type==pygame.KEYUP: ship.rect.centerx=ship.rect.centerx+0 elif event.key==pygame.K_向下: ship.rect.centerx=ship.rect.centerx-0 如果pygame.sprite.collide_rect(飞船、导弹)=True: self.image=pygame.image.load(“explosion.jpg”) 所有精灵。清除(屏幕、背景) allSprites.update() 所有精灵。绘制(屏幕) pygame.display.flip() pygame.quit() 如果名称=“\uuuuu main\uuuuuuuu”: main()

Python 名称错误:全局名称';自我';未定义我无法修复此问题 导入pygame,随机 pygame.init() screen=pygame.display.set_模式((640480)) 等级船(pygame.sprite.sprite): 定义初始化(自): pygame.sprite.sprite.\uuuuu init\uuuuuuu(自我) self.screen=屏幕 self.image=pygame.image.load(“ship.jpg”) self.image=self.image.convert() self.rect=self.image.get_rect() self.rect.center=(320400) self.dx=0 self.dy=0 self.x=self.rect.centerx self.y=self.rect.centery def更新(自我): self.checkBounds() def检查边界(自): screen=self.screen 如果self.x>screen.get_width(): self.x=screen.get_width() 如果self.xscreen.get_height(): self.reset() def重置(自): self.rect.bottom=0 self.rect.centerx=random.randrange(0,screen.get_width()) self.dy=random.randrange(5,10) def main(): background=pygame.Surface(screen.get_size()) 背景填充((0,0,0)) 屏幕光点(背景,(0,0)) ship=ship() 导弹 allSprites=pygame.sprite.Group(导弹、飞船) clock=pygame.time.clock() 继续=正确 继续进行时: 时钟滴答(30) 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: 继续=错误 elif event.type==pygame.KEYDOWN: 如果event.key==pygame.K_左: ship.rect.centerx=ship.rect.centerx-10 elif event.key==pygame.K_RIGHT: ship.rect.centerx=ship.rect.centerx+10 elif event.type==pygame.KEYUP: ship.rect.centerx=ship.rect.centerx+0 elif event.key==pygame.K_向下: ship.rect.centerx=ship.rect.centerx-0 如果pygame.sprite.collide_rect(飞船、导弹)=True: self.image=pygame.image.load(“explosion.jpg”) 所有精灵。清除(屏幕、背景) allSprites.update() 所有精灵。绘制(屏幕) pygame.display.flip() pygame.quit() 如果名称=“\uuuuu main\uuuuuuuu”: main(),python,pygame,nameerror,Python,Pygame,Nameerror,这一行不是任何类的一部分。这里没有self。我想你是说 self.image = pygame.image.load("explosion.jpg") 或者类似的东西。还不如 ship.image = pygame.image.load("explosion.jpg") 还有其他细节吗?你给我们密码什么?我们应该找出错误在哪里?只给出导致错误的部分。错误出现在哪里?感谢nabla,这真的很有帮助:) ship.image = pygame.image.load("explosion.jpg"

这一行不是任何类的一部分。这里没有
self
。我想你是说

self.image = pygame.image.load("explosion.jpg")
或者类似的东西。还不如

ship.image = pygame.image.load("explosion.jpg")

还有其他细节吗?你给我们密码什么?我们应该找出错误在哪里?只给出导致错误的部分。错误出现在哪里?感谢nabla,这真的很有帮助:)
ship.image = pygame.image.load("explosion.jpg")
missile.image = pygame.image.load("explosion.jpg")