繁体   English   中英

类型错误:“pygame.Surface”对象不可调用(Pygame 中的数组问题)

[英]TypeError: 'pygame.Surface' object is not callable (Problem with the arrays, in Pygame)

def outputting():
       screen.blit(backgroundE, [0, 0])
       z = random.randint(0, 3000)
       text1 = words[z]
       screen.blit(font400.render(text1, False, (255, 255, 255)), (100, 500))
       pygame.display.update()
       pygame.time.wait(10000)
...
outputting()

我在 Stackoverflow 上找不到与我的问题相关的解决方案。 我意识到问题出在我的阵列上。 (该数组包含一堆单词)。 我无法发布我的整个代码,因为它现在将近 1000 行。 一切正常,除了当我将数组引入代码时,我不断收到错误消息:

    text1 = words(z)
TypeError: 'pygame.Surface' object is not callable

我几乎尝试了所有方法并且被卡住了。 我需要一个数组或类似的东西,在那里我可以存储一组(3000)个单词,我可以随机输出其中一个。

任何类型的帮助都会很棒,

文本 1 = 单词(z)
类型错误:“pygame.Surface”对象不可调用

words似乎是一个 Surface 对象,实际上是不可调用的; 您不能在该对象上使用() 这就是错误消息告诉你的。

但是你也有这个代码:

 z = random.randint(0, 3000)
 text1 = words[z]

似乎这里的words应该是一个字符串列表。

首先,确保您没有用另一个对象(在您的情况下是Surface )覆盖您的words列表。

其次,要从列表中获取随机元素,只需使用random.choice

此外,您不应该只调用pygame.time.wait(10000) ,因为在此期间,您的窗口不会更新也不会响应。 您应该创建一个事件循环并在该循环中处理QUIT事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM