当前位置:   article > 正文

python炫酷烟花表白源代码,html代码烟花特效python

python炫酷烟花表白源代码,html代码烟花特效python

大家好,小编来为大家解答以下问题,python绘制烟花特定爆炸效果,python炫酷烟花表白源代码,现在让我们一起来看看吧!

代码实现:

  1. import pygame
  2. import random
  3. import math
  4. # 屏幕宽度
  5. SCREEN_WIDTH = 1350
  6. SCREEN_HEIGHT = 800
  7. # 烟花颜色
  8. COLORS = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (255, 0, 255), (0, 255, 255)]
  9. class Particle:
  10. def __init__(self, x, y, angle, speed):
  11. self.x = x
  12. self.y = y
  13. self.angle = angle
  14. self.speed = speed
  15. self.size = random.randint(1, 2) # 粒子大小
  16. self.color = random.choice(COLORS)
  17. self.lifetime = random.randint(1 * 60, 2 * 60) # 粒子生命周期在1-2秒之间
  18. self.active = True
  19. def update(self):
  20. self.lifetime -= 1
  21. if self.lifetime <= 0:
  22. self.active = False
  23. return False
  24. dx = math.cos(self.angle) * self.speed
  25. dy = math.sin(self.angle) * self.speed
  26. self.x += dx
  27. self.y += dy
  28. return True
  29. class Firework:
  30. def __init__(self, x, y, color):
  31. self.x = x
  32. self.y = y
  33. self.color = color
  34. self.particles = []
  35. for _ in range(random.randint(10, 300)): # 粒子数量
  36. angle = random.uniform(0, 2 * math.pi)
  37. speed = random.uniform(0, 3) # 粒子中心,粒子速度
  38. particle = Particle(self.x, self.y, angle, speed)
  39. self.particles.append(particle)
  40. def update(self):
  41. for particle in self.particles:
  42. if not particle.update():
  43. self.particles.remove(particle)
  44. def draw(self, screen):
  45. for particle in self.particles:
  46. pygame.draw.circle(screen, particle.color, (int(particle.x), int(particle.y)), particle.size)
  47. pygame.init()
  48. screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
  49. pygame.display.set_caption('Fireworks')
  50. clock = pygame.time.Clock()
  51. fireworks = []
  52. firework_count = 0 # 用于控制烟花的创建间隔
  53. running = True
  54. while running:
  55. clock.tick(60) # 每秒60帧
  56. for event in pygame.event.get():
  57. if event.type == pygame.QUIT:
  58. running = False
  59. elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
  60. running = False
  61. # 屏幕背景
  62. screen.fill((0, 0, 0))
  63. for firework in fireworks:
  64. firework.update()
  65. firework.draw(screen)
  66. if not firework.particles: # 如果烟花的所有粒子都消失,则移除烟花
  67. fireworks.remove(firework)
  68. if firework_count == 0: # 控制烟花的创建间隔
  69. fireworks.append(
  70. Firework(random.randint(0, SCREEN_WIDTH), random.randint(0, SCREEN_HEIGHT), random.choice(COLORS)))
  71. firework_count = random.randint(15, 20) # 随机设置计数器,实现无序效果,烟花的出现间隔为1-2秒
  72. else:
  73. firework_count -= 1
  74. pygame.display.flip()
  75. pygame.quit()

效果图:

Python生成exe文件:

安装打包软件:

安装PyInstaller:在命令行中执行pip install pyinstaller命令即可安装。

打包项目:

1.打包项目:在命令行中进入项目所在目录,执行pyinstaller --onefile your_.py命令即可开始打包熟练掌握Python就业是不是好一点。其中--onefile表示将项目打包成一个可执行文件,your_.py为项目入口文件。

2.会生成一个dist的目录,里面就是Python生成的exe文件。

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览394087 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/124806
推荐阅读
相关标签
  

闽ICP备14008679号