当前位置: 首页 > 知识库问答 >
问题:

错误:描述符“blit”需要一个“pygame.Surface”对象,但收到一个“NoneType”[重复]

黄隐水
2023-03-14

我正在创造一个游戏。我写了这段代码来创建一个精灵和它的hitbox:

hg = pygame.image.load('hgrd1copy.jpg').set_colorkey(red)
hgbox = pygame.Rect(0 ,13 ,36 ,72)
pygame.Surface.blit(hg, hgbox)

我原本把

windowSurface.blit(hg, hgbox)

但是后来我得到了一个错误,告诉我我的参数需要是pyplay。表面不是没有。

但是,当我将代码更改为pygame.Surface.blit时,它给出了以下错误代码:TypeError:描述符“blit”需要一个“pygame.Surface”对象,但收到了一个“NoneType”我该怎么办?

共有1个答案

方飞鸣
2023-03-14

如commemts中所述-y9u必须将图像加载到一行代码中,并在另一行调用set_colorkey方法读取图像。对于它们,blit应该作为一个方法从现有的曲面调用,而不是从surface类调用。(现在的问题是代码,程序如何“知道”将图像blit到哪里?

因此,假设您的屏幕位于您所描述的windowSurface变量上,这应该可以工作:

hg = pygame.image.load('hgrd1copy.jpg')
hg.set_colorkey(red)
hgbox = pygame.Rect(0, 13, 36, 72)
windowSurface.blit(hg, hgbox)
 类似资料:
  • 问题内容: 我有一个变量,其日期格式为2015年4月25日。我正在尝试将其转换为以下内容: 但是我遇到了这个错误: 我该如何解决? 问题答案: 你有一个对象。该函数需要一个datetime对象。下面的代码需要你的转换的中间步骤的使用 此时,是日期时间对象。这意味着我们可以轻松地将其转换为任何格式的字符串。在您的特定情况下: 在现在是:

  • 我试图将两个函数作为参数传递,但函数和有一个错误。我不知道我做错了什么? 运行这样的代码 ... 然后我面临一个错误:

  • 问题内容: 我想了解使用和。 从手册页: 为什么我需要该系统调用?复制文件描述符有什么用? 如果我有文件描述符,为什么要复制它? 如果您能解释一下并举一个需要/ 的示例,我们将不胜感激。 谢谢 问题答案: dup系统调用复制了一个现有的文件描述符,并返回了一个新的文件描述符,该描述符引用了相同的基础I / O对象。 Dup允许Shell执行以下命令: 2>&1告诉外壳程序给命令一个文件描述符2,它

  • 我试图在build.gradle android扩展中的AndroidManifest.xml文件中执行替换,但遇到了以下错误: 这是清单文件的一个片段: 为什么在ManifestPlaceHolders中提供了一个占位符替换时,它需要一个占位符替换,这是错误的?

  • 我想将router.get()与sql查询中的查询分开,但我出现了这个错误,当我将direct函数声明为router.get()函数的参数时,它可以工作。 user.js UserQueries.js 错误:route.get()需要回调函数,但在route.(anonymous function)处获得[object Undefined](/Home/Antonio/AchaiAPI/Node_

  • 我不知道为什么会出现这个错误,我有另一个模型和几乎相同的路由和控制器,但没有工作,这是消息:error:route.get()需要一个回调函数,但得到了一个[对象未定义]在路由。[as get](/users/ediechavero/documents/recipe-api/node_modules/express/lib/router/route.js:202:15),位于function.pr