问题描述
我正在制作一个 python 库,我需要检查一个参数是否是一个 pygame 窗口,这样我就不会遇到错误。这是我到目前为止的代码:
def paramNottypeException(paramName,typeName):
return Exception(f"The {paramName} parameter must be of type {typeName}.")
def drawGenome(genome: Genome,window: #whateverthepygamewindowclassis):
if not isinstance(genome,Genome):
raise paramNottypeException("genome","Genome")
if not isinstance(window,#what ever the pygame window class is):
raise paramNottypeException("window","Pygame Window")
所以在绘制基因组时,我需要检查窗口参数是否是 pygame 窗口。 有没有人不知道如何做到这一点?如果您需要更多信息,请在评论中告诉我。
提前致谢!
解决方法
Pygame 没有窗口类。 Pygame 在与窗口关联的 pygame.Surface 对象上绘制场景:
if isinstance(window,pygame.Surface):
您可以使用 pygame.display.get_surface()
获取对当前设置的显示 Surface 的引用:
if window == pygame.display.get_surface():