基于Python如何绘制流星雨效果

基于Python如何绘制流星雨效果

今天小编给大家分享一下基于Python如何绘制流星雨效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

浪漫的流星雨展示

4 Python代码

defbgpic(self,picname=None):"""Setbackgroundimageorreturnnameofcurrentbackgroundimage.Optionalargument:picname--astring,nameofagif-fileor"nopic".Ifpicnameisafilename,setthecorrespondingimageasbackground.Ifpicnameis"nopic",deletebackgroundimage,ifpresent.IfpicnameisNone,returnthefilenameofthecurrentbackgroundimage.Example(foraTurtleScreeninstancenamedscreen):>>>screen.bgpic()'nopic'>>>screen.bgpic("landscape.gif")>>>screen.bgpic()'landscape.gif'"""ifpicnameisNone:returnself._bgpicnameifpicnamenotinself._bgpics:self._bgpics[picname]=self._image(picname)self._setbgpic(self._bgpic,self._bgpics[picname])self._bgpicname=picname#coding:utf-8importpygameimportosimportsysfrompygame.localsimport*os.chdir('E:/星空下的告白')os.getcwd()pygame.init()pygame.mixer.init()pygame.mixer.music.load("星空之美.mp3")#pygame.mixer.music.set_volume(0.4)pygame.mixer.music.play()bg_size=width,height=300,200bg_rgb=(255,255,255)screen1=pygame.display.set_mode(bg_size)pygame.display.set_caption("告白音乐")clock=pygame.time.Clock()pause_rect=pause_image.get_rect()print(pause_rect.width,pause_rect.height)pause_rect.left,pause_rect.top=(width-pause_rect.width)//2,(height-pause_rect.height)//2fromturtleimport*fromrandomimportrandom,randintos.chdir('E:星空下的告白')screen=Screen()width,height=900,700screen.setup(width,height)screen.title("浪漫的流星雨")screen.bgcolor("black")screen.mode("logo")screen.delay(0)printer=Turtle()printer.hideturtle()printer.penup()printer.color('red')printer.goto(-100,-350)printer.write("宇宙广阔(弱水三千)""\n\n",move=True,align="left",font=("Italic",30,"bold"))printer.goto(-50,-400)printer.write("只寻你一颗!(只取一瓢饮!)\n\n",move=True,align="left",font=("Italic",30,"bold"))t=Turtle(visible=False,shape='circle')t.pencolor("white")t.fillcolor("white")t.penup()t.setheading(-90)t.goto(width/2,randint(-height/2,height/2))stars=[]foriinrange(300):star=t.clone()s=random()/3ifs>0.01ands<0.03:star.pencolor("black")star.fillcolor("black")elifs>0.03ands<0.04:star.pencolor("lightcoral")star.fillcolor("lightcoral")elifs>0.05ands<0.1:star.pencolor("green")star.fillcolor("green")elifs>0.15ands<0.16:star.pencolor("yellow")star.fillcolor("yellow")elifs>0.19ands<0.2:star.pencolor("red")star.fillcolor("red")elifs>0.21ands<0.22:star.pencolor("purple")star.fillcolor("purple")elifs>0.29ands<0.3:star.pencolor("darkorange")star.fillcolor("darkorange")elifs>0.31ands<0.32:star.pencolor("red")star.fillcolor("yellow")elifs>0.32ands<0.33:star.pencolor("yellow")star.fillcolor("white")star.shapesize(s,s)star.speed(int(s*30))star.setx(width/2+randint(1,width))star.sety(randint(-height/2,height/2))#star.showturtle()stars.append(star)i=0pause=FalsewhileTrue:i+=0forstarinstars:star.setx(star.xcor()-3*star.speed())ifstar.xcor()<-width/2:star.hideturtle()star.setx(width/2+randint(1,width))star.sety(randint(-height/2,height/2))star.showturtle()ifi>=100:break#查找队列事件foreventinpygame.event.get():#查找点击关闭窗口事件ifevent.type==QUIT:sys.exit#查找鼠标左右击事件ifevent.type==MOUSEBUTTONDOWN:ifevent.button==1:pause=notpauseifevent.button==3:pause=notpauseifevent.type==KEYDOWN:ifevent.key==K_SPACE:pause=notpausescreen1.fill(bg_rgb)ifpause:pygame.mixer.music.pause()screen1.blit(pause_image,pause_rect)else:pygame.mixer.music.unpause()screen1.blit(play_image,pause_rect)pygame.display.flip()clock.tick(30)

以上就是“基于Python如何绘制流星雨效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。

发布于 2022-03-18 22:47:26
收藏
分享
海报
0 条评论
40
上一篇:Java数组与列表查找及字符串转换的方法 下一篇:Springboot @Value注入boolean如何设置默认值
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码