如何创造一个“脉冲”?加工效果如何?

时间:2016-06-07 23:47:41

标签: animation processing

我正在尝试将我已经绘制到屏幕上的图表上逐一显示的点可视化。

理想情况下,首先会绘制一个小椭圆,然后从那里开始绘制一个小椭圆"将从椭圆的中心向外移动并在移动时逐渐消失。初始椭圆将保留在最初绘制的位置。

我可以编码一个简单的渐弱椭圆,但我无法弄清楚如何动画移动的环。 有谁可以分享一些关于如何开始这个的想法?

1 个答案:

答案 0 :(得分:1)

基本上,您需要将动画的状态存储在一组变量中。使用这些变量绘制每个帧,并随时间更改这些变量以更改所绘制的内容。

所以第一步是找出你需要存储的状态。这将告诉您需要跟踪哪些变量。作为一个非常简单的示例,您可以存储直径和不透明度:

 
float diameter = 10;
float opacity = 255;

第二步是使用这些变量绘制每一帧。只担心一次一帧,在这种情况下我们可能只是清除旧帧然后画一个圆圈:

 background(0);
 noFill();
 stroke(255, 255, 255, opacity);
 ellipse(width/2, height/2, diameter, diameter);

最后,最后一步是随着时间的推移改变这些变量。我们可以通过修改它们的值来使圆圈变大,颜色变得不那么透明:

 diameter++;
 opacity--;

总而言之,它看起来像这样:

float diameter = 10;
float opacity = 255;

void setup(){
  size(500, 500);
}

void draw(){
 diameter++;
 opacity--;

 background(0);
 noFill();
 stroke(255, 255, 255, opacity);
 ellipse(width/2, height/2, diameter, diameter);
}

请注意这只是一个示例,您将不得不将这些步骤与您自己的状态和您自己的变量一起应用,以达到您要去的效果对

Stack Overflow真的不是为普通&#34而设计的;我该如何做到这一点"输入问题。试着问更具体的问题"我试过X,期待Y,但得到Z而不是#34;输入问题。换句话说,尝试一下,如果你遇到问题就发布MCVE。祝你好运。