学完本教程后,你也能做出这样的烟花秀。
如上图示,我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。
经过一定时间后,粒子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。
基本知识:用Python和Tkinter设计烟花。
这里不再一股脑把数学知识全丢出来,我们边写代码边说理论。首先,确保你安装和导入了Tkinter,它是Python的标准GUI库,广泛应用于各种各样的项目和程序开发,在Python中使用Tkinter可以快速的创建GUI应用程序。
import tkinter as tk
from PIL import Image, ImageTk
from time import time, sleep
from random import choice, uniform, randint
from math import sin, cos, radians
除了Tkinter之外,为了能让界面有漂亮的背景,我们也导入PIL用于图像处理,以及导入其它一些包,比如time,random和math。它们能让我们更容易的控制烟花粒子的运动轨迹。
Tkinter应用的基本设置如下:
root = tkTk()
为了能初始化Tkinter,我们必须创建一个Tk()根部件(root widget),它是一个窗口,带有标题栏和由窗口管理器提供的其它装饰物。该根部件必须在我们创建其它小部件之前就创建完毕,而且只能有一个根部件。
w = tkLabel(root, text="Hello Tkinter!")
这一行代码包含了Label部件。该Label调用中的第一个参数就是父窗口的名字,即我们这里用的"根”。关键字参数"text”指明显示的文字内容。你也可以调用其它小部件:Button,Canvas等等。
wpack()
rootmainloop()
接下来的这两行代码很重要。这里的打包方法是告诉Tkinter调整窗口大小以适应所用的小部件。窗口直到我们进入Tkinter事件循环,被rootmainloop()调用时才会出现。在我们关闭窗口前,脚本会一直在停留在事件循环。
将烟花绽放转译成代码
现在我们设计一个对象,表示烟花事件中的每个粒子。每个粒子都会有一些重要的属性,支配了它的外观和移动状况:大小,颜色,位置,速度等等。
天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀。
python炫酷烟花表白源代码
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:
学完本教程后,你也能做出这样的烟花秀。
整体概念梳理
我们的整个理念比较简单。
我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。
哥们,你也太懒了吧?不过你这个初衷很棒呀。妹子也在泡,专业也在学。所以,既然有此想法,何不努力做出来。
代码就免了。就如同我们做项目一样,首先,你得把需求一条条的明确出来。你的需求是什么样的?是需要怎样的一个表白方式,如:请输入密码(刻意的记住女孩的生日),然后跳转到拼图游戏,这个图就是女孩的照片,赢了过后打印你要表白的话等。又比如:设置一系列问答式的话语,最终筛选出来的梦中女神就是表白对象女生的类型。诸如此类等等。你都可以自己构思如何去表白。每一个对于爱的表达方式不一样。你要选择给美眉一次惊喜还是一次深刻?都取决于你。
你要求代码,估计肯定不会有人给你写。太麻烦了。不过你加上你的构思,在oschina、csdn、cnblogs、iteye等网站去找一些源码应该还是有的。
欢迎分享,转载请注明来源:表白网
评论列表(0条)