溫馨提示×

python動態(tài)煙花實現(xiàn)的方法是什么

小億
194
2024-03-25 14:43:02
欄目: 編程語言

要實現(xiàn)動態(tài)煙花效果,可以使用Python的pygame庫來繪制動畫。下面是一個基本的動態(tài)煙花實現(xiàn)示例:

import pygame
import random

# 初始化pygame
pygame.init()

# 設置窗口大小
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Fireworks")

# 設置顏色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
COLORS = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (255, 0, 255), (0, 255, 255)]

# 定義煙花類
class Firework:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.color = random.choice(COLORS)
        self.radius = 2
        self.speed = random.randint(1, 5)

    def explode(self):
        self.radius += self.speed
        pygame.draw.circle(screen, self.color, (self.x, self.y), self.radius)

# 主循環(huán)
fireworks = []
clock = pygame.time.Clock()
running = True
while running:
    screen.fill(BLACK)
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 生成新煙花
    if random.randint(0, 100) < 3:
        fireworks.append(Firework(random.randint(0, width), height))

    # 更新并繪制煙花
    for firework in fireworks:
        firework.explode()
        if firework.radius > 100:
            fireworks.remove(firework)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

在這個示例中,我們定義了一個Firework類來表示煙花,然后在主循環(huán)中生成煙花并繪制動態(tài)效果。通過不斷地增大煙花半徑來模擬煙花爆炸的效果。您可以根據(jù)需要調整煙花的速度、顏色、大小等參數(shù)來實現(xiàn)不同的效果。

0