热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python实现流星雨星空特效代码

本文讲述了python实现流星雨星空特效代码!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过

attachments-2023-02-ZbtTIelx63e1a7956de86.jpg

本文讲述了python实现流星雨星空特效代码!具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,具体如下:

我们先给大家讲个小故事,提一下你们的兴趣;然后我给出论据,得出结论。最后再把浪漫的流星雨表白代码奉上,还有我自创的一首诗。

开始啦:

霍金说移民外太空

霍金说我们将来外星上生存;埃隆.马斯克也是这样想的。

我前面讲外星人来不到地球,这个道理已经很清楚。我再说几个数据,大家听听,我们且不要说到更远的外星,我们人类今天登上月球,把一个字航员送上月球,他在月球上待一分钟,要消耗地球一百万美元的资源才能在月球上待一分钟 。

我们说未来在火星上殖民,想想你在月球上一个人待一分钟,要消耗地球一百万美元的资源,你在火星上殖民几千人、几万人,你得把整个地球资源毁灭掉,都调到火星上去。然后你只把七十亿人调过去了几千、几万人,然后他在那可能死得更快,这根本不是出路,这怎么会成为出路呢?

我们再看,移居外星,离我们地球最近的另一个恒星系叫半人马座。半人马座,阿尔法星

也叫比邻星。大家注意,这都是恒星,比邻星距离太阳最近,有多近?  4.2光年,光以每秒钟三十万公里,走4.2年,就这我们还不知道比邻星的那个恒星旁边有没有行星。

就算有行星有没有宜居行星、类地行星。这我们还全然不知道。我们就假定那个地方有好了另一个地球,你按照今天人类火箭和卫星的最高速度,你单程从地球上飞到比邻星,需要一万五千年到三万年。

请注意我们文明史,文明有文字,以后的文明迄今才五千年,你单程飞到那个地方要一万五千年以上。我说过有没有行星都不知道。这个前途存在吗?根本不存在。就像外星人来不了我们这儿一样,我们也到不了任何外星存在。

我们今天连太阳系都没有走出去,没有在太阳系的任何一个行星上殖民,所以移民外星根本不是出路。

浪漫的流星雨展示 

attachments-2023-02-Xq0dTo6G63e1a71bb9922.jpg

看了这两张图,是不是觉得超级浪漫呀~

下面给大家附上Python代码 

def bgpic(self, picname=None):

    """Set background image or return name of current backgroundimage.

    Optional argument:

    picname -- a string, name of a gif-file or "nopic".

    If picname is a filename, set the corresponding image as background.

    If picname is "nopic", delete backgroundimage, if present.

    If picname is None, return the filename of the current backgroundimage.

    Example (for a TurtleScreen instance named screen):

    >>> screen.bgpic()

    'nopic'

    >>> screen.bgpic("landscape.gif")

    >>> screen.bgpic()

    'landscape.gif'

    """

    if picname is None:

        return self._bgpicname

    if picname not in self._bgpics:

        self._bgpics[picname] = self._image(picname)

    self._setbgpic(self._bgpic, self._bgpics[picname])

    self._bgpicname = picname

  

  

# coding: utf-8

import pygame

import os

import sys

from pygame.locals import *

  

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, 200

bg_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) // 2

from turtle import *

from random import random, randint

  

os.chdir('E:星空下的告白')

screen = Screen()

width, height = 900, 700

screen.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 = []

for i in range(300):

    star = t.clone()

    s = random() / 3

    if s > 0.01 and s <0.03:

        star.pencolor("black")

        star.fillcolor("black")

    elif s > 0.03 and s <0.04:

        star.pencolor("lightcoral")

        star.fillcolor("lightcoral")

    elif s > 0.05 and s <0.1:

        star.pencolor("green")

        star.fillcolor("green")

    elif s > 0.15 and s <0.16:

        star.pencolor("yellow")

        star.fillcolor("yellow")

    elif s > 0.19 and s <0.2:

        star.pencolor("red")

        star.fillcolor("red")

    elif s > 0.21 and s <0.22:

        star.pencolor("purple")

        star.fillcolor("purple")

    elif s > 0.29 and s <0.3:

        star.pencolor("darkorange")

        star.fillcolor("darkorange")

    elif s > 0.31 and s <0.32:

        star.pencolor("red")

        star.fillcolor("yellow")

    elif s > 0.32 and s <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 = 0

pause = False

while True:

    i += 0

    for star in stars:

  

        star.setx(star.xcor() - 3 * star.speed())

        if star.xcor() <-width / 2:

            star.hideturtle()

            star.setx(width / 2 + randint(1, width))

            star.sety(randint(-height / 2, height / 2))

            star.showturtle()

    if i >= 100:

        break

  

    # 查找队列事件

    for event in pygame.event.get():

        # 查找点击关闭窗口事件

        if event.type == QUIT:

            sys.exit

        # 查找鼠标左右击事件

        if event.type == MOUSEBUTTONDOWN:

            if event.button == 1:

                pause = not pause

            if event.button == 3:

                pause = not pause

  

        if event.type == KEYDOWN:

            if event.key == K_SPACE:

                pause = not pause

    screen1.fill(bg_rgb)

    if pause:

        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编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。


推荐阅读
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有