
""" 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效果文字_自定义方法版
李兴球的博客_Python创意编程技术前沿_pygame » 3D效果文字_自定义方法版