python动态烟花代码源码
时间: 2024-10-16 09:05:15 浏览: 11
在Python中编写动态烟花效果通常涉及到动画、图形库如pygame或matplotlib等以及一些基本的数学计算来模拟烟花轨迹。以下是一个简化的例子,使用pygame库来创建一个简单的动态烟花效果:
```python
import pygame
import random
# 初始化pygame
pygame.init()
# 设置屏幕大小和颜色
screen = pygame.display.set_mode((800, 600))
background_color = (0, 0, 0)
class Firework:
def __init__(self, x, y):
self.x = x
self.y = y
self.speed = random.randint(2, 5)
self.brightness = random.randint(10, 50)
self.size = 10 + random.randint(0, 40)
def update(self):
if self.y - self.speed > screen.get_height():
self.kill()
else:
self.y += self.speed
pygame.draw.circle(screen, (255, 255, 255), (int(self.x), int(self.y)), self.size)
def kill(self):
self.speed = -100
fireworks = [Firework(random.randint(0, screen.get_width()), random.randint(-100, screen.get_height())) for _ in range(5)]
# 游戏主循环
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新烟花
for firework in fireworks:
firework.update()
# 绘制背景和烟花
screen.fill(background_color)
for firework in fireworks:
firework.update()
pygame.display.flip()
# 退出pygame
pygame.quit()
```
这个代码示例中,`Firework`类表示一个烟花,它有自己的位置、速度、亮度和大小属性,并有更新和结束生命的方法。游戏循环中不断处理事件并更新烟花的状态,然后绘制到屏幕上。
阅读全文