烟花的Python代码
时间: 2023-09-28 08:06:14 浏览: 74
用python写的烟花代码
以下是一个简单的Python烟花代码实现示例:
```python
import random
import pygame
# 设置窗口尺寸
WIDTH = 800
HEIGHT = 600
# 初始化pygame
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
clock = pygame.time.Clock()
# 定义烟花粒子类
class Particle(pygame.sprite.Sprite):
def __init__(self, x, y):
super().__init__()
self.image = pygame.Surface((3, 3))
self.image.fill((255, 255, 255))
self.rect = self.image.get_rect()
self.rect.center = (x, y)
self.vx = random.uniform(-2, 2)
self.vy = random.uniform(-10, -5)
self.gravity = 0.1
def update(self):
self.vx *= 0.95
self.vy += self.gravity
self.rect.x += self.vx
self.rect.y += self.vy
# 创建粒子组和烟花组
particles = pygame.sprite.Group()
fireworks = pygame.sprite.Group()
# 游戏主循环
running = True
while running:
clock.tick(30)
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 添加烟花爆炸效果
if random.uniform(0, 1) < 0.05:
fireworks.add(Particle(random.randint(0, WIDTH), HEIGHT))
# 更新烟花和粒子
fireworks.update()
particles.update()
# 绘制
screen.fill((0, 0, 0))
fireworks.draw(screen)
particles.draw(screen)
pygame.display.flip()
pygame.quit()
```
这个示例使用了pygame库来创建烟花效果。在主循环中,每帧都会以一定的概率创建一个新的烟花粒子实例,并根据粒子的速度和重力不断更新粒子的位置。同时,所有的烟花粒子都被添加到粒子组和烟花组中,然后在屏幕上绘制出来。通过调整粒子的速度和重力可以制作出不同的烟花效果。
阅读全文