processing.py 粒子
时间: 2024-04-14 20:09:34 浏览: 140
processing.py是基于Processing语言的Python版,它也支持粒子系统。以下是一个简单的粒子系统示例代码:
```python
particles = []
class Particle:
def __init__(self):
self.position = PVector(width/2, height/2)
self.velocity = PVector(random(-1, 1), random(-1, 1))
self.acceleration = PVector(0, 0.05)
self.lifespan = 255
def update(self):
self.velocity.add(self.acceleration)
self.position.add(self.velocity)
self.lifespan -= 2
def display(self):
noStroke()
fill(255, self.lifespan)
ellipse(self.position.x, self.position.y, 10, 10)
def isDead(self):
return self.lifespan < 0
def setup():
size(400, 400)
background(0)
for i in range(100):
particles.append(Particle())
def draw():
fill(0, 10)
rect(0, 0, width, height)
for i in range(len(particles)-1, -1, -1):
particles[i].update()
particles[i].display()
if particles[i].isDead():
particles.pop(i)
if frameCount % 5 == 0:
particles.append(Particle())
```
这个粒子系统的每个粒子都有一个位置、速度和加速度,它们会随时间变化而改变位置和速度,同时也会逐渐消失。在主循环中,我们不断更新和绘制每个粒子,并且每5帧添加一个新的粒子,以保持粒子系统的活跃度。在绘制之前,我们还用一个半透明的黑色矩形来模拟粒子的残留效果,使得粒子轨迹更加自然。
阅读全文