使用 FX2D。
嗨,我目前正在使用 curveVertex() 函数在每一帧绘制一条线。 每条线都自愿保留在草图上,而不是在每一步都重置背景, 这会留下痕迹效果。
但我想让这些痕迹随着时间的推移而消失。我尝试通过给它一个小的不透明度值来重置draw()函数中的背景,但它每次都会一次清除所有轨迹。
现在我只能拥有所有轨迹或没有轨迹。
//background(0, 0, 0, 10); // Reset background every time
stroke(255, 255, 255, 10); // Draw Line between all nodes
curveVertex(nodes.get(fixId(i)).position.x, nodes.get(fixId(i)).position.y);
最佳答案
background()
不只是设置背景颜色,它还清除整个窗口。它不打算在beginShape()
/ endShape()
内使用background
序列。
想做什么就可以通过画个rect()
来实现与 blendMode(DIFFERENCE)
在整个窗口的框架开始处。例如:
void draw() {
// "fade" the entire view
blendMode(DIFFERENCE);
fill(1, 1, 1, 255);
rect(0, 0, width, height);
blendMode(ADD);
// draw shape
// [...]
}
<小时/>
<子> 另请参阅Processing - rendering shapes的答案。
关于java - 使用背景不透明度值的 Fading CurveVertex() 轨迹不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60026417/