赞
踩
下面是一个用Python编写的简单烟花特效代码,使用了Pygame库来实现图形显示。请确保你已经安装了Pygame库,如果没有安装,可以使用pip install pygame
来安装。
import pygame import random # 初始化Pygame pygame.init() # 屏幕大小 width, height = 800, 600 screen = pygame.display.set_mode((width, height)) # 烟花粒子类 class Particle: def __init__(self, x, y): self.x = x self.y = y self.color = (random.randint(50, 255), random.randint(50, 255), random.randint(50, 255)) self.size = 5 self.speed = random.randint(1, 5) self.angle = random.uniform(0, 2 * 3.14159) def move(self): self.x += self.speed * 0.5 * cos(self.angle) self.y += self.speed * 0.5 * sin(self.angle) self.size -= 0.05 def draw(self): pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), int(self.size)) particles = [] running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False x, y = pygame.mouse.get_pos() for i in range(30): particles.append(Particle(x, y)) for particle in particles: particle.move() if particle.size <= 0: particles.remove(particle) # 清屏 screen.fill((0, 0, 0)) # 绘制粒子 for particle in particles: particle.draw() pygame.display.flip() pygame.quit()
这个代码创建了一个窗口,当你点击鼠标时,会在鼠标位置生成烟花粒子效果。这只是一个简单的示例,你可以根据需要进行扩展和改进。注意,这只是一个基础的烟花特效,实际的烟花特效通常更加复杂和精致。
代码二:
import pygame import sys import random pygame.init() # 设置屏幕尺寸和标题 WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Fireworks") # 定义颜色 WHITE = (255, 255, 255) # 定义烟花粒子类 class Particle: def __init__(self, x, y): self.x = x self.y = y self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) self.radius = 2 self.dx = random.randint(-5, 5) self.dy = random.randint(-5, 5) def move(self): self.x += self.dx self.y += self.dy def draw(self): pygame.draw.circle(screen, self.color, (self.x, self.y), self.radius) particles = [] clock = pygame.time.Clock() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # 当鼠标点击时,产生新的烟花 if event.type == pygame.MOUSEBUTTONDOWN: x, y = pygame.mouse.get_pos() for _ in range(100): particle = Particle(x, y) particles.append(particle) screen.fill(WHITE) # 更新和绘制烟花粒子 for particle in particles: particle.move() particle.draw() # 移除已经消失的烟花粒子 particles = [particle for particle in particles if particle.radius < 100] pygame.display.flip() clock.tick(60)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。