3D效果文字_自定义方法版

如本文章标有价格,需议价或其它事情商议请加微信scratch8

李兴球Python3D效果文字
李兴球Python3D效果文字
"""
   3D效果文字_自定义方法版.py
   本程序给Turtle类新增了addx和addy方法,
   还增加了write3D这个方法,用来写3D效果文字
"""
import turtle

turtle.Turtle.addx = lambda self,dx:self.setx(self.xcor() + dx)
turtle.Turtle.addy = lambda self,dy:self.sety(self.ycor() + dy)

def _writex(self,string,bg='black',fg='blue',
            align='center',move=False,font=('',16,'normal')):
    """写具有3D效果的文字"""
    # 保存
    oldpencolor = self.pencolor()
    oldpos = self.position()
    olddown = self.isdown()
    oldspeed = self.speed()
    olddelay = self.screen.delay(0)
    self.screen.delay(0)
    self.speed(0)
    self.pencolor(bg)
    self.penup()
    
    self.addx(-2)
    self.addy(2)
    self.write(string,align=align,font=font,move=move)    
    
    self.addx(-2)
    self.addy(2)
    self.write(string,align=align,font=font,move=move)
    
    self.pencolor(fg)
    self.write(string,align=align,font=font,move=move)
    # 恢复
    self.pencolor(oldpencolor)
    self.goto(oldpos)
    self.speed(oldspeed)
    self.screen.delay(olddelay)
    if olddown:self.pendown()

turtle.Turtle.write3D = _writex
    
zt = ('微软雅黑',42,'normal')
string = '3D效果文字\n风火轮编程'

tom = turtle.Turtle(visible=False)
tom.penup()
tom.screen.bgcolor('yellow')
tom.write3D(string,font=zt)
tom.screen.mainloop()



本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 3D效果文字_自定义方法版
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页