""" 移动汉字贺卡.py """ import os import time from random import randint from turtle import RawTurtle,Shape,Turtle,Screen from winsound import PlaySound,SND_ASYNC,SND_LOOP from PIL import Image,ImageFont,ImageDraw,ImageTk def txt2image(txt,filename=None,fontfile="msyh.ttf",fontsize=18,color=(25,0,255,255)): """ 文本转图像实用小程序,只支持单行文本,默认为微软雅黑字体, txt:文本 filename:要写入的文件名,如果为空则不写入,并且返回图形对象 fontfile:ttf字体文件 fontsize:字体大小 color:颜色,通过写alpha值可支持半透明图形。 """ pass # 这里省略一些代码 def bounce_on_edge(self): """碰到边缘就反弹的方法""" sw = self.screen.window_width() sh = self.screen.window_height() x = self.xcor() y = self.ycor() if x > sw/2 or x < -sw/2: # 到了最右边或最左边 self.seth(180 - self.heading()) # 改变方向 elif y > sh/2 or y < -sh/2: # 到了最上边或最下边 self.seth( -self.heading()) pass # 这里省略一些代码 screen.title('移动汉字贺卡by李兴球,网址:www.lixingqiu.com') zi = screen.textinput('输入框','请输入贺词') if zi==None or zi=="": zi = '风火轮编程祝本群所有人员身体健康' shapes = [Photo(txt2image(z,fontsize=28,color='blue')) for z in zi] def clickevent(x,y): if shapes: sp = shapes.pop(0) c = Shape('image',sp) # 新建造型 screen.addshape(str(c),c) # 把造型添加到造型字典 z = Turtle(shape=str(c),visible=False) z.penup() z.speed(0) z.seth(randint(180,360)) z.goto(x,y) z.stamp() z.showturtle() else: PlaySound('卓依婷-迎春花.wav',SND_LOOP|SND_ASYNC) screen.onclick(None) screen.bgpic('鱼.png') g = Turtle(visible=False) g.penup() g.sety(-20) g.color('magenta') s = 'Python值得你拥有' g.write(s,align='center',font=('',24,'bold')) counter = 0 while True: for z in screen.turtles(): z.fd(0.1) z.bounce_on_edge() counter += 1 if counter == 3000: g.clear() g.setx(0) g.sety(-20) g.color('red') s = '本程序由Python海龟模块制作' g.write(s,align='center',font=('',16,'bold')) g.sety(-55) g.color('gray') s = '需要本程序源码的请加微信scratch8' g.write(s,align='center',font=('',18,'underline')) screen.onclick(clickevent) screen.mainloop()
另外一个版本:
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
发表评论