给我写一个python烟花代码
时间: 2024-11-06 10:19:53 浏览: 21
Python写一个放烟花代码
当然可以,这是一个简单的Python代码示例,使用`pygame`库模拟烟花效果。请注意,你需要先安装`pygame`库,如果还没有安装,可以在命令行中运行`pip install pygame`。
```python
import pygame
import random
# 初始化Pygame
pygame.init()
# 设置窗口大小
window_width = 800
window_height = 600
win = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("简单烟花效果")
# 定义颜色
colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)]
# 烟花爆炸位置和时间
positions = []
timestamps = []
def firework(x, y):
for i in range(50): # 飞行路径的点数
pos = (x + random.randint(-50, 50), y + random.randint(-50, 50)) # 随机位置
positions.append(pos)
timestamps.append(pygame.time.get_ticks()) # 记录时间
# 主循环
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 清空屏幕
win.fill((0, 0, 0))
# 播放烟花
for pos, timestamp in zip(positions, timestamps):
elapsed_time = pygame.time.get_ticks() - timestamp
if elapsed_time > 500: # 烟花消失时间
positions.remove(pos)
timestamps.remove(timestamp)
else:
color = colors[random.randint(0, len(colors) - 1)] # 随机选择颜色
size = elapsed_time // 100 # 随时间变小
pygame.draw.circle(win, color, pos, size)
# 更新显示
pygame.display.update()
```
这个代码会在屏幕上随机地点燃“烟花”,每一朵烟花持续一段时间后会自动消失。你可以通过调整`firework`函数的参数来自定义烟花的位置和飞行轨迹。运行此代码需要安装并导入`pygame`库,同时注意控制台的FPS(每秒帧数),可能会影响烟花的效果。
阅读全文