pycharm烟花代码
时间: 2023-07-14 22:00:26 浏览: 363
当然,我可以为您提供一个简单的PyCharm烟花代码示例。请注意,这只是一个基本示例,您可以根据自己的需求进行修改和扩展。
```python
import pygame
import random
# 初始化Pygame
pygame.init()
# 设置窗口尺寸
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
# 定义烟花粒子类
class Particle(pygame.sprite.Sprite):
def __init__(self, x, y, size, color):
super().__init__()
self.x = x
self.y = y
self.size = size
self.color = color
self.speed_x = random.uniform(-1, 1)
self.speed_y = random.uniform(-3, -1)
self.gravity = 0.1
def update(self):
self.x += self.speed_x
self.y += self.speed_y
self.speed_y += self.gravity
def draw(self):
pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.size)
# 创建粒子群组
particles = pygame.sprite.Group()
# 游戏循环
running = True
clock = pygame.time.Clock()
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 清空屏幕
screen.fill((0, 0, 0))
# 生成新的烟花粒子
if random.random() < 0.02:
x = random.randint(0, width)
y = height
size = random.randint(2, 8)
color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
particle = Particle(x, y, size, color)
particles.add(particle)
# 更新和绘制粒子
for particle in particles:
particle.update()
particle.draw()
# 移除消失的粒子
particles.remove([p for p in particles if p.y > height])
# 更新屏幕
pygame.display.flip()
clock.tick(60)
# 退出Pygame
pygame.quit()
```
这是一个简单的烟花效果,每个粒子随机生成,并以不同的速度和颜色向上移动,然后受到重力的影响逐渐下降。希望这能满足您的需求!如果您有任何问题,请随时问我。
阅读全文