曙光h 2019-08-06 23:01 采纳率: 60%
浏览 184

ubuntu19.04 pycharm 编写blit方法时,定义的名字不一样,同时调用发生错误怎么回事?请大神解答

图片说明图片说明图片说明两个代码互换后

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-10 23:54
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    从您提供的日志信息来看,出现AttributeError: 'Scoreboard' object has no attribute 'blitme'错误。这通常意味着尝试访问了一个不存在的对象或属性。在这个情况下,错误是在试图使用ship.blitme()来绘制飞船时发生的。

    首先,请确认您是否正确地导入了所需的模块和类,并且它们被正确地初始化。例如:

    from pygame import Surface
    

    然后,检查Scoreboard类是否已正确实例化。如果还没有,请创建一个:

    class Scoreboard:
        def __init__(self):
            # 初始化Scoreboard类的方法
            pass
    

    接着,在GameFunctions.py文件中,尝试使用ship.blitme()来绘制飞船:

    def update_bullets(ai_settings, screen, ship, aliens, bullets):
        # 更新子弹编组的位置
        for bullet in bullets.copy():
            if bullet.rect.bottom <= 0:
                bullets.remove(bullet)
        bullets.update()
        
        # 在这里添加你的代码以绘制飞船
        ship.blitme()
    
    def blitme(self):
        """ 将图像绘制到指定位置 """
        screen.blit(self.image, self.rect)
    
    

    现在,请运行您的程序,看看是否有任何其他问题。如果没有问题,那么可能是因为您没有正确地使用ship.blitme()来绘制飞船。如果您仍然遇到问题,请提供更多关于您的环境、使用的库以及您正在使用的编程语言的信息,以便我能为您提供更具体的帮助。

    评论

报告相同问题?