用python画烟花用什么编译_代码也浪漫——Python烟花秀

我下午太困了。我不小心看到了烟花程序写在Tkinter图书馆,跑一遍。设计理念:模拟爆炸效应通过屏幕上的一个粒子分裂到X粒子数。粒子\u201C扩大\u201D,这意味着他们将以恒定速度和彼此有相同的角度。这让我们模拟的烟花盛开的一个外在的形式扩大圈子。一段时间后,粒子将进入\u201C自由落体\u201D阶段,也就是说,由于重力,他们开始落在地上,就像烟花绽放,扑灭。首先,我们编写一个粒子类,代表每个粒子在烟火活动,包括大小,颜色,位置,速度和其他属性,以及函数的粒子经历的三个阶段,即:扩张,下降,消失。\u201C粒子粒子随机生成的空气中,成为一个圆,下降,和消失。属性:id: id particle-x y:协调particle-vx, v:变速coordinate-total:总表示动作:粒子的时间exists-color: color-cv: canvas-lifespan:最高的长度存在\u201C类粒子:def __init__(自我,简历,idx,总、explosion_speed x = 0。

vx = 0。v = 0。、大小= 2。颜色=\u2018红\u2019,寿命= 2,* * kwargs): = idx = x = y_speed = explosion_speed = vx = v = = 0 =颜色=简历=总_oval (x-size y-size x +大小、y +大小,)= lifespandef更新(自我,dt): + = dt #如果粒子范围扩张()和():move_x = cos(弧度(* 360 \/))* _speedmove_y =罪(弧度(* 360 \/))* _speed (move_x move_y) = move_x \/(浮动(dt) * 1000) #自由落体elif下降():move_x = cos(弧度(360 \/)*)#我们技术不需要更新x, y,因为将做这项工作(+ move_x +重力* dt) + =重力* dt #删除粒子超过最大持续时间elif不是没有:()=没有#扩张时间def扩大(自我):返回< = #粒子是否存在最高的时间内def活着(自我):返回< =接下来,我们需要创建一个列表,每个列表的烟花,它包含粒子的列表,列表中的每个粒子具有相同的x, y坐标,大小,颜色,和初始速度。

属性:id: id particle-x y:协调particle-vx, v:变速coordinate-total:总number-age:粒子的时间长度exists-color:颜色-简历:Canvas-lifespan:最大生存时间\u201D类粒子:def __init__(自我,简历,idx,总、explosion_speed x = 0。,y = 0。vx = 0。v = 0。、大小= 2。颜色=\u2018红\u2019,寿命= 2,* * kwargs): = idx = x = y_speed = explosion_speed = vx = v = = 0 =颜色=简历=总_oval (x-size y-size x +大小、y +大小,)= lifespandef更新(自我,dt): + = dt #粒子范围扩大,如果()和():move_x = cos(弧度(* 360 \/))* _speedmove_y =罪(弧度(* 360 \/))* _speed (move_x move_y)= move_x \/(浮动(dt) * 1000) #在自由落体elif (): move_x = cos(弧度(360 \/)*)#我们技术不需要更新x, y,因为将做这项工作(+ move_x +重力* dt) + =重力* dt #删除粒子超过最大持续时间elif不是没有:()= #没有扩大时间def扩大(自我):返回< = #粒子是否存在持续时间内的最高def活着(自我):< =\u201C循环回电话不断\u201Cdef模拟(cv): t =时间()explode_points = [] wait_time = randint (100) numb_explode = randint(6、10) #创建一个二维的所有粒子同时扩展列表点范围(numb_explode):对象= []x_cordi = randint (550) y_cordi = randint(150)速度=制服(,)大小=制服(3)颜色(颜色)explosion_speed = =选择制服(1)total_particles = randint(10、50)我的范围(1,total_particles): r =粒子(简历、idx =我、总= total_particles explosion_speed = explosion_speed x = x_cordi, y = y_cordi, vx =速度,速度v =, =颜色,大小=大小寿命=统一(,))(r) explode_(对象)total_time = 0 #内不断扩大而total_time

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值