用python的海龟库,做一个类似于微信小程序手持弹幕那样的LED屏幕滚动字幕效果。
本来是要坐在开发板上的,但开发板上缺了海龟库,烧录一直不成功,就先写了一个能运行在电脑上的程序。 利用键盘的上建、左键、右键控制。废话不多说上代码。 参考博客: link.
from turtle import *
import time
#鼠标监听部分应用pynput
pm=Screen() #新建屏幕对象
pm.bgcolor("black")
pm.setup(600,400) #设宽屏幕的宽度和高度
pm.delay (0) #设定屏幕延时为0
pm.title("手持弹幕LED滚动字幕")
t = Turtle(visible=False) # 新建不可见的海龟对象
word=["东大yyds","一起开黑","老师666","黑怕不怕黑","微信:a2766285306","脾气不好",'你瞅啥',"睡觉勿扰","想你的液","what's up!"]
size=[60,90,120] #大小
color = ['white',"red","cyan","yellow","blue"]
#全局性变量
info = word[0]
Size = size[0]
Color = color[0]
a = 0
b = 0
c = 0
def up():
global a
if a==9:
a=0
else:
a+=1
t.penup()
t.goto(300, -(Size / 2)) # 到最右边去
def left():
global b
if b==2:
b=0
else:
b+=1
t.penup()
global Size
Size = size[b]
t.goto(300, -(Size / 2)) # 到最右边去
def right():
global c
if c==4:
c=0
else:
c+=1
t.penup()
t.goto(300, -(Size / 2)) # 到最右边去
#def down():
t.clear()
onkeypress(up,"Up") # 向上
onkeypress(left,"Left")
onkeypress(right,"Right")
#onkeypress(down,"Down")
listen()
#显示文字
def big():
global info
global Size
global Color
t.penup()
t.color(Color) # 设定海龟的颜色为青色15
t.goto(300, -(Size/2)) # 到最右边去
# info = "修远少儿编程"
leftx = -300
x = len(info)
print(x)
while(1):
while (t.xcor()+x*Size+(x-1)*(Size/3)) > leftx: # 当海龟的x坐标大于某值时19
t.clear() # 清空窗口,如果不清空频繁写字,每次的字就会覆盖在一起
t.color(Color)
t.write(info, align='left', font=("楷体", Size, "normal"))
pm.update() # 刷新屏幕
#start()
time.sleep(0.01) # 等待0.01秒
t.setx(t.xcor() - 1) # 左移一个单位
info = word[a]
Size = size[b]
Color = color[c]
t.clear() #清空
t.penup()
t.goto(300, -(Size/2))
big()
利用onkeypress监听键盘,能改变文字内容,文字大小,文字颜色
|