TypeError: 'pygame.Surface' object is not callable (Problem with the arrays, in 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()
我在 Whosebug 上找不到与我的问题相关的解决方案。我意识到问题出在我的阵列上。 (该数组包含一堆单词)。我无法 post 我的整个代码,因为它现在差不多有 1000 行了。一切正常,除了当我将数组引入代码时我不断收到错误:
text1 = words(z)
TypeError: 'pygame.Surface' object is not callable
我几乎尝试了所有方法,但还是卡住了。我需要有一个数组或类似的东西,我可以在其中存储一组(3000)个单词,我可以随机输出其中一个。
任何类型的帮助都会很棒,
text1 = words(z)
TypeError: 'pygame.Surface' object is not callable
words
看似是一个Surface对象,实际上是不可调用的;您不能在该对象上使用 ()
。这就是错误消息告诉您的内容。
但是你也有这个代码:
z = random.randint(0, 3000)
text1 = words[z]
这里好像words
应该是一个字符串列表
首先,确保您没有用另一个对象(在您的例子中是 Surface
)覆盖您的 words
列表。
其次,要从列表中获取随机元素,只需使用 random.choice
。
此外,您不应该只调用 pygame.time.wait(10000)
,因为在此期间,您的 window 不会更新,也不会响应。您应该创建一个事件循环,并在该循环中处理 QUIT
事件。
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()
我在 Whosebug 上找不到与我的问题相关的解决方案。我意识到问题出在我的阵列上。 (该数组包含一堆单词)。我无法 post 我的整个代码,因为它现在差不多有 1000 行了。一切正常,除了当我将数组引入代码时我不断收到错误:
text1 = words(z)
TypeError: 'pygame.Surface' object is not callable
我几乎尝试了所有方法,但还是卡住了。我需要有一个数组或类似的东西,我可以在其中存储一组(3000)个单词,我可以随机输出其中一个。
任何类型的帮助都会很棒,
text1 = words(z)
TypeError: 'pygame.Surface' object is not callable
words
看似是一个Surface对象,实际上是不可调用的;您不能在该对象上使用 ()
。这就是错误消息告诉您的内容。
但是你也有这个代码:
z = random.randint(0, 3000)
text1 = words[z]
这里好像words
应该是一个字符串列表
首先,确保您没有用另一个对象(在您的例子中是 Surface
)覆盖您的 words
列表。
其次,要从列表中获取随机元素,只需使用 random.choice
。
此外,您不应该只调用 pygame.time.wait(10000)
,因为在此期间,您的 window 不会更新,也不会响应。您应该创建一个事件循环,并在该循环中处理 QUIT
事件。