processing水滴拖尾效果
时间: 2023-11-24 11:07:29 浏览: 194
LED拖尾效果程序
5星 · 资源好评率100%
水滴拖尾效果实现的关键是要绘制一系列逐渐变淡的圆形,这个过程可以通过循环来实现。以下是一个演示如何实现水滴拖尾效果的示例代码:
```python
class Drop:
def __init__(self, x, y):
self.x = x
self.y = y
self.r = 30
self.history = []
def update(self):
# 记录当前位置
self.history.append((self.x, self.y))
# 如果历史记录太长,就删除最旧的记录
if len(self.history) > 30:
self.history.pop(0)
def draw(self):
noStroke()
# 绘制历史记录中的圆形
for i, (x, y) in enumerate(self.history):
fill(0, 255, 200, 255 * (1 - i / len(self.history)))
ellipse(x, y, self.r, self.r)
# 绘制当前水滴
fill(0, 255, 200)
ellipse(self.x, self.y, self.r, self.r)
drops = []
def setup():
size(400, 400)
def draw():
background(255)
for drop in drops:
drop.update()
drop.draw()
def mousePressed():
drops.append(Drop(mouseX, mouseY))
```
在这个示例中,我们创建了一个 `Drop` 类来代表水滴对象,每个水滴会记录它的历史位置。在 `update()` 方法中,我们将当前位置添加到历史记录中,并删除最旧的记录。在 `draw()` 方法中,我们循环遍历历史记录,逐渐降低圆形的不透明度,并绘制圆形。然后绘制当前水滴。
在 `draw()` 函数中,我们遍历 `drops` 列表,对于每个水滴,调用它的 `update()` 方法和 `draw()` 方法。在 `mousePressed()` 函数中,我们在鼠标点击的位置创建一个新的水滴,并将它添加到 `drops` 列表中。
阅读全文