python 如何在turtle中将文本作为精灵?

olmpazwi  于 2022-12-21  发布在  Python
关注(0)|答案(1)|浏览(161)

例如,我想做这样的事情:
第一个月
turtle.display(textSprite)
那就做吧
time.sleep(10)
turtle.remove(textSprite)
我试着搜索谷歌,但没有答案。

elcex8rz

elcex8rz1#

由于Python通常是面向对象的,turtle更是如此,因此可以使用turtle作为基础创建自己的TextSprite类:

from turtle import Turtle

class TextSprite(Turtle):
    DEFUALT_FONT = ('Arial', 18, 'normal')

    def __init__(self, text):
        super().__init__(visible=False)

        self.text = text
        self.font = self.DEFUALT_FONT

        self.penup()

    def setfont(self, font):
        self.font = font

    def showtext(self):
        self.write(self.text, align='center', font=self.font)

    def hidetext(self):
        self.clear()

if __name__ == "__main__":
    from turtle import Screen

    screen = Screen()

    sprite = TextSprite("Hello")

    sprite.goto(100, 100)
    sprite.color('blue')
    sprite.setfont(('Times Roman', 24, 'bold'))

    sprite.showtext()

    screen.ontimer(sprite.hidetext, 10_000)  # ten seconds

    screen.exitonclick()

相关问题