python报错:argument 1 must be pygame.surface.Surface, not builtin_function_or_method解决方法

1、报错分析

根据报错信息,提示我们出错的原因在与第一个参数类型必须是pygame类型,但是我们的参数类型不匹配。

2、源码分析

这里的方法blit()中的第一个参数是STATICSURF,一个全局常量。根据报错我们知道是它出了问题。我们找到这个参数的赋值代码。

3、STATICSURF参数分析

这里我们发现STATICSURF被WINSET.copy赋值,这里的WINSET.copy返回的是一个函数对象,但是我们需要的是返回一个Surface窗口对象

4、正确写法

将WINSET.copy改成WINSET.copy()使其返回值为Surface对象,就能运行了。

猜你喜欢

转载自blog.csdn.net/weixin_62222095/article/details/129369009