如何用Python编写一个简单的烟花效果展示代码?
时间: 2024-11-15 10:23:46 浏览: 43
在Python中,你可以使用pygame库来创建简单的图形化烟花效果。下面是一个简化的例子,它使用了随机生成位置和颜色的圆形来模拟烟花:
```python
import pygame
import random
# 初始化pygame
pygame.init()
# 设置窗口大小和标题
win = pygame.display.set_mode((800, 600))
pygame.display.set_caption("简单烟花")
# 烟花爆炸速度
BULLET_SPEED = 5
class Firework:
def __init__(self, x, y):
self.x = x
self.y = y
self.size = random.randint(5, 15)
self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
def update(self):
self.y -= BULLET_SPEED
if self.y < 0:
self.kill()
def draw(self):
pygame.draw.circle(win, self.color, (self.x, self.y), self.size)
fireworks = []
for _ in range(10): # 创建10个烟花
fireworks.append(Firework(random.randint(0, win.get_width()), win.get_height()))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新烟花
for firework in fireworks:
firework.update()
# 绘制背景和烟花
win.fill((0, 0, 0)) # 黑色背景
for firework in fireworks:
firework.draw()
pygame.display.flip() # 刷新屏幕
# 游戏结束
pygame.quit()
```
在这个代码中,我们创建了一个`Firework`类,每个烟花都是一个实例,有自己的位置、大小和颜色。在循环中,我们更新所有烟花的位置,并在屏幕上绘制它们。当烟花下落到屏幕底部时,我们就将其从列表中移除。
阅读全文