page contents

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

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2023-02-07 09:22
  • 阅读 ( 525 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1320 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章