当前位置: 首页 > news >正文

深圳品牌网站设计专家佛山全市核酸检测

深圳品牌网站设计专家,佛山全市核酸检测,八年级信息技术网页制作,微网站功能1. 实现效果 2. 素材加载 2个图片和3个音频 shoot_image pygame.image.load(shoot(已去底).jpg) # 加载拼接的发射图像 flower_image pygame.image.load(flower.jpg) # 加载拼接的烟花图 烟花不好去底 # 调整图像的像素为原图的1/2 因为图像相对于界面来说有些大 shoo…

1. 实现效果

在这里插入图片描述

2. 素材加载

2个图片和3个音频
shoot(已去底).jpg

flower.jpg

shoot_image = pygame.image.load('shoot(已去底).jpg') # 加载拼接的发射图像
flower_image = pygame.image.load('flower.jpg')      # 加载拼接的烟花图 烟花不好去底
# 调整图像的像素为原图的1/2 因为图像相对于界面来说有些大
shoot_image = pygame.transform.scale(shoot_image, (shoot_image.get_size()[0]/2 ,shoot_image.get_size()[1]/2))
flower_image = pygame.transform.scale(flower_image, (flower_image.get_size()[0]/2 ,flower_image.get_size()[1]/2))
# 音频、音效
shoot_sound = pygame.mixer.Sound('shoot.mp3')
bomb_sound = pygame.mixer.Sound('bomb1.mp3')
bg_music = pygame.mixer.Sound('bg.mp3')

图像分块显示

# 每个部分的宽度
num_parts = 10  # 有10个shoot图
num_parts1 = 13 # 13个烟花
shoot_part_width = shoot_width // num_parts
flower_part_width = flower_width // num_parts1

在这里插入图片描述

3. 烟花发射

发射shoot图从底部往上,快到顶部变烟花flower,然后下落一段距离,最后消失。

在这里插入图片描述

4. 画面定格

处理鼠标点击事件以暂停和恢复动画
在这里插入图片描述

5. 完整代码

# 2024-12-01 Python简单的生日祝福烟花
import pygame # pip install pygame
import random
pygame.init()               # 初始化 pygame
WIDTH, HEIGHT = 750, 500    # 设置窗口尺寸
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("生日烟花祝福") # 窗口标题
#bg_image = pygame.image.load('bg.jpg')
shoot_image = pygame.image.load('shoot(已去底).jpg') # 加载拼接的发射图像
flower_image = pygame.image.load('flower.jpg')      # 加载拼接的烟花图 烟花不好去底
# 调整图像的像素为原图的1/2 因为图像相对于界面来说有些大
shoot_image = pygame.transform.scale(shoot_image, (shoot_image.get_size()[0]/2 ,shoot_image.get_size()[1]/2))
flower_image = pygame.transform.scale(flower_image, (flower_image.get_size()[0]/2 ,flower_image.get_size()[1]/2))
# 音频、音效
shoot_sound = pygame.mixer.Sound('shoot.mp3')
bomb_sound = pygame.mixer.Sound('bomb1.mp3')
bg_music = pygame.mixer.Sound('bg.mp3')
bg_music.play(-1) # 播放背景音乐
# 获取图像的宽度和高度
shoot_width, shoot_height = shoot_image.get_size()
flower_width, flower_height = flower_image.get_size()
# 每个部分的宽度
num_parts = 10  # 有10个shoot图
num_parts1 = 13 # 13个烟花
shoot_part_width = shoot_width // num_parts
flower_part_width = flower_width // num_parts1
class Firework: # 定义烟花类def __init__(self, x):self.x = x              # 使用提供的x坐标self.shoot_y = HEIGHT   # shoot初始y坐标在底部self.flower_y = 0       # flower初始位置上方self.shoot_active = Trueself.flower_active = Falseself.shoot_part_index = random.randint(0, num_parts - 1)    # 随机选择shoot的部分索引self.flower_part_index = random.randint(0, num_parts - 1)   # 随机选择flower的部分索引self.drop_height = 10                                       # 下落的高度(在达到顶部后下落一点)self.is_dropping = False                                    # 是否开始下落self.alpha = 255                                            # 透明度控制def shoot(self):if self.shoot_active:# 绘制随机选择的 shoot 图像部分screen.blit(shoot_image, (self.x, self.shoot_y),(self.shoot_part_index * shoot_part_width, 0, shoot_part_width, shoot_height))self.shoot_y -= 5  # 更新 shoot 的位置 向上移动if self.shoot_y >= shoot_height:shoot_sound.play() # 播放发射音效if self.shoot_y <= 20:  # 当 shoot 达到接近窗口顶部时,触发下落self.shoot_active = Falseself.flower_active = Trueself.flower_y = self.shoot_y + self.drop_height  # flower 下落一点self.is_dropping = True  # 标记为开始下落if self.flower_active:   # 绘制随机选择的 flower 图像部分bomb_sound.play()flower_surface = pygame.Surface((flower_part_width, flower_height), pygame.SRCALPHA)  # 创建带透明度的 surfaceflower_surface.blit(flower_image, (0, 0),(self.flower_part_index * flower_part_width, 0, flower_part_width, flower_height))flower_surface.set_alpha(self.alpha) # 设置透明度screen.blit(flower_surface, (self.x, self.flower_y))if self.is_dropping:self.flower_y += 1  # flower 向下移动if self.alpha > 0:self.alpha -= 5  # 逐步降低透明度else:self.flower_active = False  # 透明度为0时消失
clock = pygame.time.Clock()
fireworks = []
running = True
paused = False  # 初始化暂停状态为 False
font = pygame.font.Font(None, 74)   # 设置字体, 使用默认字体, 大小为74
text_color = (255, 192, 203)        # 文字颜色粉红色
birthday_text = font.render("Happy Birthday", True, text_color)        # 文本"生日快乐"
text_rect = birthday_text.get_rect(center=(WIDTH // 2, HEIGHT - 150))  # 文本位置
while running:for event in pygame.event.get():if event.type == pygame.QUIT:running = False# 处理鼠标点击事件以暂停和恢复动画if event.type == pygame.MOUSEBUTTONDOWN:paused = not paused  # 切换暂停状态if not paused:# 每隔一段时间生成新烟花if random.random() < 0.01:  # 随机生成烟花 and len(fireworks) < 10# 随机选择 X 坐标,避免与已有烟花重叠new_firework_x = random.randint(0, WIDTH - shoot_part_width)overlap = any(abs(new_firework_x - firework.x) < shoot_part_width for firework in fireworks)if not overlap:     # 如果没有重叠,添加新烟花fireworks.append(Firework(new_firework_x))screen.fill((0, 0, 0))  # 填充黑色背景 #screen.blit(bg_image, (0, 0))for firework in fireworks:firework.shoot()screen.blit(birthday_text, text_rect) # 绘制生日文本pygame.display.flip()clock.tick(60) # 控制更新画面的速度
pygame.quit()
http://www.hengruixuexiao.com/news/9941.html

相关文章:

  • wordpress当前分类页面地址某网站seo诊断分析和优化方案
  • 如何使用开源程序做网站win7优化配置的方法
  • 做淘宝的批发网站有哪些手续重庆seo推广外包
  • 郑州行业网站建设广州网站运营专业乐云seo
  • 桐城58网站在那里做推广普通话海报
  • 哪些网站适合花钱做推广网站友链交换平台
  • 没有备案网站可以做优化么电商网站设计论文
  • api模式网站开发介绍线上推广渠道主要有哪些
  • app对接网站登录要怎么做网店代运营可靠吗
  • 手机静态网站开发制作合肥网站优化公司
  • 王爷他精分成疾txt下载优化网站标题是什么意思
  • 烟台html5网站建设seo是指
  • 银川网站建设在线刷关键词网站排名
  • 做网站需要去工商备案吗优化设计单元测试卷
  • 做视频网站弹窗竞价广告是什么意思
  • 仿漫画网站建设定制小说网站系统源码建设济南网站建设制作
  • 什么是b2b销售模式宁波seo软件免费课程
  • 二道江网站建设网络推广seo怎么弄
  • 沈阳模板建站方案百度问一问客服人工在线咨询
  • 成都网站建设 哪家比较好网络营销实施方案
  • seo点击软件哪个好用单页网站怎么优化
  • 衡阳网站开发2345网址大全设主页
  • word做网站框架电脑优化大师有用吗
  • 课程设计代做网站php网络营销的期末试题及答案
  • 民用网络架构seo外包公司优化
  • 营销网站建设流程图太原整站优化排名外包
  • 昆明网站制作定制公司网络推广平台有哪些渠道
  • 单页网站建设教程营销技巧和营销方法培训
  • 哪里有机械加工活爱站网seo综合查询工具
  • 邢台规划局网站建设潍坊自动seo