python制作超炫流星雨表白,html写流星雨(完整代码)

这篇具有很好参考价值的文章主要介绍了python制作超炫流星雨表白,html写流星雨(完整代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇文章主要介绍了python制作超炫流星雨表白,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

python制作超炫流星雨表白,python

hello,大家好,我是wangzirui32,今天我们来学习如何用Pygame制作一场漂亮的流星雨。
开始学习吧!

文章目录

  • 前言
  • 1. 素材图片
  • 2. 项目结构
  • 3. 编写代码
    • 3.1 Star类
    • 3.2 主项目demo.py
  • 4. 效果展示
  • 写在最后

前言

最近几乎没有比较大型的流星雨可以欣赏,当我正在家里“愁眉不展”时,我看到了Python神码ai火车头标题伪原创。于是,就想用Python模拟一场流星雨,妙~啊!

1. 素材图片

完成这个程序,你需要一张月亮图片:
moon.jpg
python制作超炫流星雨表白,python和笔者画的一颗小星星:
star.png
python制作超炫流星雨表白,python

2. 项目结构

结构如下:

demo/
	star.py
	demo.py
	star.png
	moon.jpg

其中,star.py文件主要存放Star类,这个类要处理星星移动等操作,demo.py是项目的主文件,我们将在这里编写窗口代码,至于star.png和moon.jpg可以自行导入上面的素材。

3. 编写代码

3.1 Star类

打开star.py,输入以下代码:

# -*-  coding: utf-8 -*-
import pygame
import random

class Star(pygame.sprite.Sprite):
    def __init__(self, screen, width, height):
        super(Star, self).__init__() # 继承精灵类

        self.screen = screen

		# 加载图片并获取rect矩形
        self.image = pygame.image.load("star.png")
        self.rect = self.image.get_rect()

        self.screen_width = width
        self.screen_height = height

		# 设置初始位置 使用随机数生成
        self.rect.x = random.randint(0, width)
        self.rect.y = random.randint(0, height)

    def blit(self): # 绘制星星
        self.screen.blit(self.image, self.rect)

    def update(self):
        if self.rect.top > self.screen_height: # 监测有没有超出屏幕
            self.kill()
        elif self.rect.left > self.screen_width:
            self.kill()
        else: # 移动位置
            self.rect.x += 1
            self.rect.y += 1

3.2 主项目demo.py

代码:

# -*-  coding: utf-8 -*-
import star
import pygame
import sys

pygame.init()

width, height = 690, 517
screen = pygame.display.set_mode((width, height))

pygame.display.set_caption("流星雨")

# 加载背景图片
background = pygame.image.load("moon.jpg")

# stars精灵组
stars = pygame.sprite.Group()

rates = 0

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

	# 绘制背景
    screen.blit(background, (0, 0))
    # 对stars精灵组进行更新和绘制
    stars.update()
    stars.draw(screen)

    if rates % 20 == 0:
    	# 添加一个星星
        stars.add(star.Star(screen, width, height))

    rates += 1

    pygame.display.update()

4. 效果展示

如图:
python制作超炫流星雨表白,python

写在最后

这个程序你还可以拓展,可以设置rates变量的值,使其星星的生成频率变高,也可以使用 pygame.transform.rotate(旋转图片, 旋转度数) 函数对星星图片进行旋转(Tips:如果电脑配置不高,建议不要尝试,因为显卡的香味是会让你“垂涎三尺”)。


好了,今天的课程就到这里,我是wangzirui32,我们下次再见!拜拜!文章来源地址https://www.toymoban.com/news/detail-715637.html

hello,大家好,我是wangzirui32,今天我们来学习如何用Pygame制作一场漂亮的流星雨。
开始学习吧!

文章目录

  • 前言
  • 1. 素材图片
  • 2. 项目结构
  • 3. 编写代码
    • 3.1 Star类
    • 3.2 主项目demo.py
  • 4. 效果展示
  • 写在最后

前言

最近几乎没有比较大型的流星雨可以欣赏,当我正在家里“愁眉不展”时,我看到了Python神码ai火车头标题伪原创。于是,就想用Python模拟一场流星雨,妙~啊!

1. 素材图片

完成这个程序,你需要一张月亮图片:
moon.jpg
python制作超炫流星雨表白,python和笔者画的一颗小星星:
star.png
python制作超炫流星雨表白,python

2. 项目结构

结构如下:

demo/
	star.py
	demo.py
	star.png
	moon.jpg

其中,star.py文件主要存放Star类,这个类要处理星星移动等操作,demo.py是项目的主文件,我们将在这里编写窗口代码,至于star.png和moon.jpg可以自行导入上面的素材。

3. 编写代码

3.1 Star类

打开star.py,输入以下代码:

# -*-  coding: utf-8 -*-
import pygame
import random

class Star(pygame.sprite.Sprite):
    def __init__(self, screen, width, height):
        super(Star, self).__init__() # 继承精灵类

        self.screen = screen

		# 加载图片并获取rect矩形
        self.image = pygame.image.load("star.png")
        self.rect = self.image.get_rect()

        self.screen_width = width
        self.screen_height = height

		# 设置初始位置 使用随机数生成
        self.rect.x = random.randint(0, width)
        self.rect.y = random.randint(0, height)

    def blit(self): # 绘制星星
        self.screen.blit(self.image, self.rect)

    def update(self):
        if self.rect.top > self.screen_height: # 监测有没有超出屏幕
            self.kill()
        elif self.rect.left > self.screen_width:
            self.kill()
        else: # 移动位置
            self.rect.x += 1
            self.rect.y += 1

3.2 主项目demo.py

代码:

# -*-  coding: utf-8 -*-
import star
import pygame
import sys

pygame.init()

width, height = 690, 517
screen = pygame.display.set_mode((width, height))

pygame.display.set_caption("流星雨")

# 加载背景图片
background = pygame.image.load("moon.jpg")

# stars精灵组
stars = pygame.sprite.Group()

rates = 0

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

	# 绘制背景
    screen.blit(background, (0, 0))
    # 对stars精灵组进行更新和绘制
    stars.update()
    stars.draw(screen)

    if rates % 20 == 0:
    	# 添加一个星星
        stars.add(star.Star(screen, width, height))

    rates += 1

    pygame.display.update()

4. 效果展示

如图:
python制作超炫流星雨表白,python

写在最后

这个程序你还可以拓展,可以设置rates变量的值,使其星星的生成频率变高,也可以使用 pygame.transform.rotate(旋转图片, 旋转度数) 函数对星星图片进行旋转(Tips:如果电脑配置不高,建议不要尝试,因为显卡的香味是会让你“垂涎三尺”)。


好了,今天的课程就到这里,我是wangzirui32,我们下次再见!拜拜!

到了这里,关于python制作超炫流星雨表白,html写流星雨(完整代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何用python绘制流星雨【附源码】

    一、方案一      最为简单的方法是:使用随机数来控制流星的生成频率。通过调整生成流星的概率,可以控制流星雨的密度,具体代码如下: import pygame import random import sys # 初始化 Pygame pygame.init() # 屏幕大小 SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 # 颜色 WHITE = (255, 255, 255) BLACK = (0,

    2024年04月14日
    浏览(48)
  • 你值得拥有——流星雨下的告白,面试竟然被这31道Python基础题难倒了

    动态视频最近几天由于后台服务器升级,所以视频过几天我上传上来。 4 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 p

    2024年04月26日
    浏览(35)
  • 【EasyX】使用C/C++实现 流星雨效果(配上详细注释解释)

    🎊专栏【​​​​​​​EasyX】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Love Story】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 文末有网盘资料哦,需要的小伙伴请自取 EasyX是一个用于图形绘制和图形界面设计的C++图形库。它旨在使图形编

    2024年02月12日
    浏览(51)
  • HTML5七夕情人节表白网页制作【抖音3D立方体图像库】HTML+CSS+JavaScript html生日快乐祝福网页制作

    这是程序员表白系列中的100款网站表白之一,旨在让任何人都能使用并创建自己的表白网站给心爱的人看。 此波共有100个表白网站,可以任意修改和使用,很多人会希望向心爱的男孩女孩告白,生性腼腆的人即使那个TA站在眼前都不敢向前表白。说不出口的话就用短视频告诉

    2024年02月02日
    浏览(56)
  • Python无法拒绝的表白界面完整代码

    运行时弹出界面 当点击“不要”时弹出 当点击“×”时弹出 python3.11.4及以上版本 PyCharm Community Edition 2023.2.5 pyinstaller6.2.0 ( 可选 ,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~) 【注】 python环境搭建请见:https://want595.blog.csdn.n

    2024年02月02日
    浏览(44)
  • 【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习)

    哈喽,我是木子,今天给大家制作一款超级炫酷的代码啦。 提到《黑K帝国》, 字符雨 可谓是让人印象深刻。 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 ​​这种科技感爆棚的特效,你是否也想来一套? 这个,可以有。 最近,小编刷到抖音关于很久之前

    2024年02月03日
    浏览(74)
  • 【脚本项目源码】Python制作提升成功率90%的表白神器

    明天就是拥抱情人节,情侣们会在公开的场合拥抱,向世人宣告你俩的爱意,也让这个寒冷的冬天变得格外温馨。到了年底依然能热情拥抱,也见证了两人情意如昔。 今天小鱼就给大家带来就是的利用Python制作表白神器,记得发给自己的心仪对象。废话不多说直接开整~ Pyt

    2023年04月09日
    浏览(42)
  • 今天是情人节呐,我利用Python制作了好多表白的东西,快来吧~

    今天是情人节那,有没有现在没有对象的宝子,评论里扣个111哈哈 目录 玫瑰 爱心树 丘比特 多彩气球 阿玥的小课堂

    2024年02月21日
    浏览(55)
  • 【完整代码】用HTML/CSS制作一个美观的个人简介网页

    用HTML/CSS制作一个美观的个人简介网页——学习周记1 HELLO!大家好,由于《用HTML/CSS制作一个美观的个人简介网页》这篇笔记有幸被很多伙伴关注,于是特意去找了之前写的完整代码,久等啦~ 这个页面是在自己刚接触前端代码时使用HBuilder所作,以下是建立的项目及文件↓↓

    2024年01月25日
    浏览(48)
  • 七夕节表白3d相册制作

    定位 阴影 3d转换 动画 通过定位将所有照片叠在一起,在设置默认的样式以及照片的布局,最后通过设置盒子以及照片的旋转动画来达到效果。 效果: 代码如下: 第二种是背景图+3D相册 首先看效果: html代码: CSS代码: 第3种是樱花+特效 第一步,创建html文件 css文件 js樱花

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包