以下块产生错误cannot convert without pygame.display initialized
当用作类属性时:
class Tile:
hidden_image = pygame.image.load('image0.bmp')
hidden_image.convert()
但是,当我在类的任何方法下使用它时Tile
, 有用。 IE。
def __init__(self, x, y, width, height, image):
.....
def draw(self):
hidden_image = pygame.image.load('image0.bmp')
hidden_image.convert()
有什么解释吗?
你必须跑pygame.init()
更确切地说pygame.screen.set_mode()
在你跑步之前hidden_image.convert()
因为convert()
必须知道显示配置 - 即。颜色深度 - 正确转换图像。
因为它是类属性,所以它在加载脚本时开始执行,所以你必须把pygame.init()
and pygame.screen.set_mode()
在类定义之前。或者你必须使用convert()
in __init__
.
draw()
函数执行后pygame.screen.set_mode()
所以它有效。
PyGame 文档:pygame.Surface.convert
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)