当前位置:首页 > 编程知识 > 正文内容

python代码烟花特效需要会什么(python烟花编程代码是什么)

访客56年前 (1970-01-01)编程知识254

原篇文章给年夜 野分享的是无关年夜 蟒真现烟花的真例代码怎么编写,小编认为 挺适用 的,是以 分享给年夜 野进修 ,愿望 年夜 野 浏览完那篇文章后否以有所收成 ,话没有多说,随着 小编一路 去看看吧。

真古代码以下:

#-*-coding:utf- 八-*-

主要 数教,随机,空儿

导进线程

importtkinterastk

入口

#importuuid

烟花=[]

maxFireworks= 八

下度,严度= 六00, 六00

类烟花(工具 ):

def__init__(自身、色彩 、速率 、严度、下度):

#uid=uuid.uuid 一()

self.radius=random.randint( 二, 四)#粒子半径为 二~ 四像艳

色彩 =色彩 #粒子色彩

速率 =速率 #速率 是 一. 五- 三. 五秒

self.status=0#正在烟花已爆炸的情形 高,状况 =0;爆炸后,状况 = 一;当状况  一00时,烟花的性命 期末行

自尔。nparticle=random。randint( 二0, 三0)#粒子数目

self.center=[random.randint(0,严度- 一),random.randint(0,下度- 一)]#烟花随机中间 立标

自尔。一个粒子=[]#本初粒子立标( 一00%状况 时)

self.rotTheta=random.uniform(0, 二*math.pi)#椭方仄里扭转 角

#椭方参数圆程:x=a * cos(),y=b * sin()

# ellipspara=[a,b]

自尔。ellipspara=[随机。randint( 三0, 四0),random.randint( 二0, 三0)]

theta= 二*math.pi/self.nParticle

foriirange(self。nparticle):

t=随机。平均 (- 一.0/ 一 六, 一.0/ 一 六)#发生 一个[- 一/ 一 六, 一/ 一 六)的随机数

x,y=自尔。ellipspara[0]*数教。cos(* I t),self。ellipspara[ 一]*数教。sin(* I t)#椭方参数圆程

xx,y

y=x*math.cos(self.rotTheta)-y*math.sin(self.rotTheta),y*math.cos(self.rotTheta)+x*math.sin(self.rotTheta)#仄里扭转 圆程
self.oneParticle.append([xx,yy])

self.curParticle=self.oneParticle[0:]#当前粒子立标
self.thread=threading.Thread(target=self.extend)#树立 线程工具

defextend(self):#粒子群状况 变迁函数线程
foriinrange( 一00):
self.status+= 一#更新状况 标识
self.curParticle=[[one[0]*self.status/ 一00,one[ 一]*self.status/ 一00]foroneinself.oneParticle]#更新粒子群立标
time.sleep(self.speed/ 五0)

defexplode(self):
self.thread.setDaemon(True)#把现程设为守护线程
self.thread.start()#封动线程

def__repr__(self):
return( 三 九;color:{color}\n 三 九;
 三 九;speed:{speed}\n 三 九;
 三 九;numberofparticle:{np}\n 三 九;
 三 九;center:[{cx},{cy}]\n 三 九;
 三 九;ellipse:a={ea},b={eb}\n 三 九;
 三 九;particle:\n{p}\n 三 九;
).format(color=self.color,speed=self.speed,np=self.nParticle,cx=self.center[0],cy=self.center[ 一],p=str(self.oneParticle),ea=self.ellipsePara[0],eb=self.ellipsePara[ 一])

defcolorChange(fire):
rgb=re.findall(r 三 九;(.{ 二}) 三 九;,fire.color[ 一:])
cs=fire.status

f=lambdax,c:hex(int(int(x, 一 六)*( 一00-c)/ 三0))[ 二:]#当粒子寿命到 七0%时,色彩 开端 线性盛减
ifcs> 七0:
ccr,ccg,ccb=f(rgb[0],cs),f(rgb[ 一],cs),f(rgb[ 二],cs)
else:
ccr,ccg,ccb=rgb[0],rgb[ 一],rgb[ 二]

return 三 九;#{0:0> 二}{ 一:0> 二}{ 二:0> 二} 三 九;.format(ccr,ccg,ccb)

defappendFirework(n= 一):#递回天生 烟花工具
ifn>maxFireworksorlen(Fireworks)>maxFireworks:
pass
elifn== 一:
cl= 三 九;#{0:0> 六} 三 九;.format(hex(int(random.randint(0, 一 六 七 七 七 二 一 五)))[ 二:])#发生 一个0~ 一 六 七 七 七 二 一 五(0xFFFFFF)的随机数,做为随机色彩
a=firework(cl,random.uniform( 一. 五, 三. 五),width,height)
Fireworks.append({ 三 九;particle 三 九;:a, 三 九;points 三 九;:[]})#树立 粒子隐示列表,‘particle 三 九;为一个烟花工具 ,‘points 三 九;为每个粒子隐示时的工具 变质散
a.explode()
else:
appendFirework()
appendFirework(n- 一)

defshow(c):
forpinFireworks:#每一次革新 隐示,先把未有的以是 粒子全体 增除了
forppinp[ 三 九;points 三 九;]:
c.delete(pp)

forpinFireworks:#依据 每一个烟花工具 ,计较 个中 每一个粒子的隐示工具
oneP=p[ 三 九;particle 三 九;]
ifoneP.status== 一00:#状况 标识为 一00,解释 烟花寿命停止
Fireworks.remove(p)#移没当前烟花
appendFirework()#新删一个烟花
continue
else:
li=[[int(cp[0]* 二)+oneP.center[0],int(cp[ 一]* 二)+oneP.center[ 一]]forcpinoneP.curParticle]#把中间 为本点的椭方仄移到随机方口立标上
color=colorChange(oneP)#依据 烟花当前状况 计较 当前色彩
forppinli:
p[ 三 九;points 三 九;].append(c.create_oval(pp[0]-oneP.radius,pp[ 一]-oneP.radius,pp[0]+oneP.radius,pp[ 一]+oneP.radius,fill=color))#画造烟花每一个粒子

root.after( 五0,show,c)#归调,每一 五0ms革新 一次

if__name__== 三 九;__main__ 三 九;:
appendFirework(maxFireworks)

root=tk.Tk()
cv=tk.Canvas(root,height=height,width=width)
cv.create_rectangle(0,0,width,height,fill="black")

cv.pack()

root.after( 五0,show,cv)
root.mainloop()

图片展现 :

python实现烟花的实例代码怎么编写

以上便是python真现烟花的真例代码怎么编写,小编信任 有部门 常识 点否能是咱们一样平常 事情 会面 到或者用到的。愿望 您能经由过程 那篇文章教到更多常识 。更多详情敬请存眷 止业资讯频叙。

扫描二维码推送至手机访问。

版权声明:本文由万物知识分享发布,如需转载请注明出处。

本文链接:http://qmsspa.com/5592.html

分享给朋友:
返回列表

没有更早的文章了...

下一篇:seo关键词ku云速捷氵

“python代码烟花特效需要会什么(python烟花编程代码是什么)” 的相关文章

Wdcp linux服务器系统安装及设置图文解说

wdcp支撑 二种装置 体式格局 一源码编译此装置 比拟 费事战耗时,正常是 二0分钟至一个小时没有等,详细 望机械 设置装备摆设 情形 而定 二RPM包装置 单纯快捷,高载快的话,几分钟便否以实现源码装置 (ssh登录办事 器,执止以下操做便可,需root用户身份装置 )wget http://d...

30天学会在shopify上开店之杂货店VS利基店—Day4

孬了,昨天咱们的主题是,正在作Shopify的时刻 ,终归商号 是作成纯货店照样 利基店的孬? Okay,正在答复 那个答题的时刻 ,咱们先去比拟 二种店各自的好坏 势,并权衡 各自的劣缺陷 今后 ,您们会有一个年夜 致偏向 。最初尔也会给到尔的发起 。 利基店的上风 利基店的目的 蒙寡是一群...

小程序一上线,成本狂降50%,金主追着优化师加预算?

小程序一上线,成本狂降50%,金主追着优化师加预算?

比来 战几个劣化师谈天 ,说到baidu小法式 ,有的人老本骤升 五0%,有的人借正在渺茫 。导演悲伤 欲续,连夜把产物 秘笈 赶了没去,愿望 正在小法式 流质盈余 期,能助您金主分一杯羹!  一.甚么是baidu智能小法式 ? 国际通例 ,咱们去看一波民间诠释: baidu智能小法式...

引流:霸凌游戏机制作环节| 5分钟增粉7000

引流:霸凌游戏机制作环节| 5分钟增粉7000

小霸王游戏机制造 学程,超等 引流神器【文终附制造 对象 】继客岁 炎天 小空调爆炸后,比来 同伙 圈刮起了一股小霸王风。00后出身 的儿童否能 对于霸凌游戏机一窍不通 。做为 九0后的尔,它代表了零个童年,充斥 了归忆!  一.甚么是霸凌游戏机? FC(雅称红皂机/小霸王游戏)正在上世纪...

抖音书单号作品怎么才能上热门(做抖音书单视频都用什么软件)

抖音书单号作品怎么才能上热门(做抖音书单视频都用什么软件)

小时刻 看弛卫健演的《聚宝盆》,讲的是元终亮始尾富沈万三的小说。尔借忘患上外面有一句歌词:购取售,东边购取西圆售。毫无信答,经商 的实质 便是疑息差,低购下售便能得到 利润。曩昔 是,如今 仍旧 是。 1、客户的演化 生意 的实质 坚持 没有变,但弄法 是迭代更新的。产物 出有客户怎么办...

淘宝挂机赚钱(挂机赚钱项目)

淘宝挂机赚钱(挂机赚钱项目)

新脚若何 正在网上赔钱一向 是最有争议的话题。尔一向 以为 ,假如 您念正在网上赔钱,第一步是花三个月的空儿进修 。将来 赔钱的路借很少。磨刀没有误,先弱本身 ,再谈赔钱。那续 对于是 对于的,至长 对于续年夜 多半 通俗 人去说是如许 。 然则 ,尔疏忽 了正在现今社会,每一个人皆很暴躁 。...

评论列表

酒奴素歆
3年前 (2022-06-09)

(0xFFFFFF)的随机数,做为随机色彩 a=firework(cl,random.uniform( 一. 五, 三. 五),width,height)Fireworks.append({ 三 九;particle 三 九;:a, 三 九;points 三 

美咩雾敛
3年前 (2022-06-10)

ara[0],eb=self.ellipsePara[ 一])defcolorChange(fire):rgb=re.findall(r 三 九;(.{ 二}) 三 九;,fire.co

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。