这是一个用Python制作的多媒体动画展示程序,以下是所有源代码:
""" 灵境之梦.py 本程序需要Python精灵模块运行,安装方法: pip install sprites。如果不会安装,请加微信scratch8进行技术支持。 """ import time import random from sprites import * # 从精灵模块导入所有命令 screen = Screen() # 新建屏幕 screen.setup(520,620) # 设定宽高 screen.bgpic('封面.png') # 贴上背景 screen.title('灵境之梦__by__李兴球') # 写上标题 ti = Sprite(visible=False) # 显示作品的名字 ti.sety(220) ti.color('white') ti.write('灵境之梦',align='center',font=('楷体',30,'bold underline')) ims = [f"素材/{i}.jpg" for i in range(12)] # 新建一些角色,每个角色就是一张图片. sps = [Sprite(shape=im) for im in ims] for i in range(12): sps[i].rotatemode(1) # 设定旋转模式为左右翻转 sps[i].setheading(i*30) PlaySound('metauni.wav',SND_LOOP|SND_ASYNC) # 循环播放背景音乐 counter = 0 # 下面是一些图片抖动并散开,最后反弹的代码段 while True: # 让图片擅抖动散开 pic = sps[counter%12] if not pic.collide_edge(): # 如果没有碰到边缘 pic.fd(random.randint(-4,8)) counter += 1 if counter==1100:break time.sleep(0.01) i = 0 while i<10000: # 重复10000次 pic = sps[i%12] pic.fd(3) pic.bounce_on_edge() # 碰到边缘就反弹 i = i + 1 [sp.hide() for sp in sps] # 全部隐藏 feng = Sprite("feng") # 显示带VR眼睛的男孩图片 for _ in range(6): feng.nextshape() # 下一个造型 time.sleep(0.01) [feng.setalpha(a) for a in range(255,100,-10)] # 设定透明度 txt = "Hi,大家好,我是头号编程玩家" # 显示一些文字,赋予作品一些内涵 zi = Sprite(visible=False) # 新建隐藏的角色 zi.goto(-120,180) zi.color('yellow') for t in txt: zi.write(t) zi.fd(15) time.sleep(0.1) zi.goto(0,100) zi.color('green') zi.write2('李兴球',align='center',font=('',48,'normal')) texts = ['我做了一个灵境之梦。','梦见未来人们把意识上传到灵境玩去了。', '世界全部由人工智能全自动控制。', '但我,却是极少数还在真实世界的人类。', '本程序由Python精灵模块开发,代码:80行','Python,值得你拥有!本程序下载网址:'] y = 50 for txt in texts: zi.goto(0,y) if y==-150: zi.color('yellow') else: zi.color('white') zi.write(txt,align='center',font=('楷体',18,'normal')) zi.wait(1) y = y - 50 zi.bk(180) x = zi.xcor() zi2 = Sprite(shape='blank') zi2.color('white') s = 'www.lixingqiu.com' zi.goto(x+150,y-45) zi.color('lime') zi.write('基于Python海龟画图模块的创造',align='center',font=('',12,'italic')) while True: zi2.clear() zi2.goto(x,y) zi2.sety(y) for char in s: zi2.write(char,font=('',20,'normal')) zi2.wait(0.1) zi2.fd(20) screen.mainloop()