热门标签 | 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入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。


推荐阅读
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • JavaScript中属性节点的类型及应用
    本文深入探讨了JavaScript中属性节点的不同类型及其在实际开发中的应用,帮助开发者更好地理解和处理HTML元素的属性。通过具体的案例和代码示例,我们将详细解析如何操作这些属性节点。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
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社区 版权所有