processing水母拖尾
时间: 2023-09-14 10:09:43 浏览: 130
在 Processing 中实现水母拖尾的效果,可以通过使用 `ArrayList` 存储之前绘制的水母的位置信息,然后根据这些位置信息绘制拖尾效果。以下是一个简单的示例代码:
```
ArrayList<PVector> positions = new ArrayList<PVector>(); // 存储位置信息的 ArrayList
int numPositions = 50; // 位置信息的数量
float jellyfishX, jellyfishY; // 水母的位置
float jellyfishSize = 50; // 水母的大小
void setup() {
size(500, 500);
jellyfishX = width/2;
jellyfishY = height/2;
}
void draw() {
background(255);
// 将当前水母的位置信息添加到 ArrayList 中
positions.add(new PVector(jellyfishX, jellyfishY));
if (positions.size() > numPositions) { // 如果 ArrayList 中的位置信息数量超过设定值
positions.remove(0); // 则删除最早的位置信息
}
// 绘制水母的拖尾效果
noFill();
stroke(255, 0, 0);
strokeWeight(jellyfishSize/numPositions);
beginShape();
for (int i = 0; i < positions.size(); i++) {
PVector pos = positions.get(i);
curveVertex(pos.x, pos.y);
}
endShape();
// 绘制当前水母的位置
fill(255, 0, 0);
ellipse(jellyfishX, jellyfishY, jellyfishSize, jellyfishSize);
// 更新水母的位置
jellyfishX = mouseX;
jellyfishY = mouseY;
}
```
这段代码会绘制一个红色的水母,当鼠标移动时,水母会跟随鼠标的位置移动,并且会留下拖尾效果。你可以根据自己的需要调整位置信息数量、水母的大小等参数,以获得不同的效果。
阅读全文