如何更改 Arcade window 中的文本内容?

How to change the content of text in an Arcade window?

我目前正在尝试创建一个可以在我按下按钮时更新的文本。阅读文档后,我看到 arcade.draw_text 函数正在返回一个 text_sprite 对象,但似乎无法更改该对象的文本。

我是不是做错了?或者有什么技巧我还没有掌握?

是的,你可以做到。以下脚本会在鼠标单击时更改文本:

import arcade

class MyGame(arcade.Window):
    def __init__(self):
        super().__init__(600, 400)
        self.text = 'Waiting for click...'

    def on_draw(self):
        arcade.start_render()
        arcade.draw_text(self.text, 300, 200, arcade.color.RED, 30, anchor_x='center')

    def on_mouse_release(self, x, y, button, key_modifiers):
        self.text = 'Clicked!'

MyGame()
arcade.run()

点击前的文本:

点击后的文本: