用户:
沉著的飞叶龙uZWJ查看:0 回复:3 评论:0 创建时间:2020-05-28T21:01:56
【作品展示】

【作品介绍】
送给各位的。不用谢我。要谢就评论。本作品是教程性的,作者写了巨量的注释。
希望你们喜欢!阿里嘎多!
【作品源代码】
import turtle
import time#准备
class danmu():#创建弹幕类
def __init__(self,text,pos=0,color='black',speed=5,size=20,font="微软雅黑",mode='normal'):#设置可调整的参数
self.text=text#设置弹幕文字
self.size=size#设置弹幕大小
self.font=font#设置弹幕字体
self.mode=mode#设置弹幕样式
self.speed=speed#设置弹幕速度
self.pen=turtle.Pen()#建立绘制弹幕的画笔
self.pen.pu()#画笔抬笔,不然弹幕过后会留下痕迹
self.pen.goto(350,pos)#移动到发射坐标(go函数中没有再用到pos参数,不用全局实例化)
self.pen.setheading(180)#从右往左,B站传统
self.pen.speed(0)#满速度,避免不必要的停顿
self.pen.color(color,color)#设置颜色(同pos,下面没用到)
def go(self):
for i in range(int(750/self.speed)):#一条弹幕走750格,用750÷速度控制发射速度
self.pen.fd(self.speed)#完成一帧前进
self.pen.write(self.text,font=(self.font,self.size,self.mode))#书写弹幕(按传入的字体、大小、样式)
time.sleep(0.01)#短暂停顿
self.pen.undo()#然后立即撤销,进入下一循环,前进一点点再书写、撤销
try_danmu=danmu('测试',color='blue',pos=250,size=10,mode='italic')#作者的测试
try_danmu.go()#弹 幕 狂 欢
'''
turtle库是单线程的,也就是说弹幕只能一条一条发,各位用自己会的多线程库也来做一个呗,记得发评论区哦~
'''
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn