这是风火轮编程Python初级教程的第17课,下面是用python制作的学习大纲。
用Python制作的幻灯片类型的作品,这是一节实战课程,讲一个小例子。
以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade
""" 第十七课 夜幕下的霓虹 """ from sprites import * s = '第十七课 夜幕下的霓虹' screen = Screen() screen.bgcolor('green') screen.titlebar(False) root = screen._root # 窗口对象 root.wm_attributes('-alpha',0.7) # 设置窗口为全透明(0到1.0) screen.setup(800,800) screen.tracer(0,0) # 下面的代码让窗口可以拖动. oldx = 0 oldy = 0 def startmove(event): global oldx,oldy oldx = event.x oldy = event.y def stopmove(event): global oldx,oldy oldx = 0 oldy = 0 def movewindow(event): global oldx,oldy dx = event.x - oldx dy = event.y - oldy root.move(dx,dy) screen.cv.bind("", startmove) screen.cv.bind(" ", stopmove) screen.cv.bind(" ",movewindow) # 下面的代码按方向箭头则窗口能上下左右移动 screen.onkeypress(lambda:root.move(10),'Right') screen.onkeypress(lambda:root.move(-10),'Left') screen.onkeypress(lambda:root.move(0,-10),'Up') screen.onkeypress(lambda:root.move(0,10),'Down') screen.listen() # 单击鼠标左键开始 spacekey = Key('space') # 空格键 m1 = Mouse() # 鼠标左键 while not m1.down():screen.update() ft_title = ('楷体',30,'bold') ft_context = ('宋体',18,'normal') t = Sprite(visible=False,pos=(-500,250)) t.color('blue') clock = Clock() for x in range(100): t.clear() t.write(s,align='center',font=ft_title) t.wait() t.fd(5) clock.tick(60) while not spacekey.down():screen.update() # 简介 brief =""" 华灯初上,在夜幕的衬托下显得格外漂亮。 本课我们要制作一幅彩图。彩图的内容是在黑色的 背景上面随机显示有彩色的点。 程序中窗口内屏幕大小为800x600像素。 为了让随机打的彩色点都在屏幕范围内, 所以这些点的x的值不能超出屏幕的最大x和最小x值, 当然,彩点的y坐标也不能超出屏幕的最小y和最大y值。 由于屏幕的宽度为800,原点的x坐标是0,所以x最小值就是-400。 而x最大值就是400。同样的道理,y的最小值是-300,最大值是300。 """ if brief!='': # 如果有课程简介,则生成一个角色, ftx = ('宋体',18,'normal') 简介 = Sprite(visible=False,pos=(0,-250)) 简介.color('white') 简介.write(brief,align='center',font=ftx) while spacekey.down():screen.update() while not spacekey.down():screen.update() for x in range(66): # 标题向右消失 t.clear() t.write(s,align='center',font=ft_title) t.fd(10) if brief!='': 简介.clear() 简介.write(brief,align='center',font=ftx) 简介.bk(10) clock.tick(60) 简介.clear() byebye = """ 下次再见! """ t.clear() t.color('cyan') t.home() t.write(byebye,align='center',font=('宋体',38,'bold')) screen.exitonclick() screen.mainloop()
以下是付费内容,包括播放视频、python源代码及素材等等。
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)