没有视频模式设置错误,无法加载图像

时间:2019-05-25 17:35:49

标签: python pygame

我正在尝试为pygame项目加载多个png文件,并将它们作为数组从函数返回。问题是当我尝试使用函数时,出现错误消息,因为未设置视频模式,无法执行.convert_alpha()方法。

我对pygame不太熟悉,所以我什至不知道我在做什么是否是正确的语法,但是任何帮助将不胜感激。

def loadTextures():

    UpEarl = pygame.image.load("UpFacingEarl.png")
    LeftEarl=pygame.image.load("LeftFacingEarl.png")
    RightEarl=pygame.image.load("RightFacingEarl.png")
    DownEarl=pygame.image.load("DownFacingEarl.png")
    Texturelist=[UpEarl,LeftEarl,RightEarl,DownEarl]

    NewTextureList=[]
    for item in Texturelist:
        item = pygame.transform.scale(item, (65,64))
        item=item.convert_alpha()
        NewTextureList.append(item)

    return NewTextureList

1 个答案:

答案 0 :(得分:0)

请参阅pygame.Surface.convert_alpha()的文档:

  

更改包含每个像素alpha的图像的像素格式

convert_alpha(Surface) -> Surface
convert_alpha() -> Surface
     

使用所需的像素格式创建表面的新副本。新的表面将采用适合于每个像素alpha迅速绘制为给定格式的格式。 如果未提供任何表面,则将优化新表面以使其闪烁显示到当前显示。

这是您收到错误消息的原因:

  

pygame.error:未设置视频模式

pygame无法确定合适的格式,因为pygame.display未初始化。 您必须先致电pygame.display.set_mode(),然后才能使用.convert_alpha(),例如:

pygame.init()
screen = pygame.display.set_mode((800, 600))