尝试在处理过程中制作一个简单的弹跳球程序,但是在移除球的重影方面遇到了麻烦。任何帮助将不胜感激,这是我的代码:
float g=-9.81;
float k=0.2; // Spring constant
float m=0.25; // Mass kg
float dt=0.01; // Time step 50ms
float vy=0; // Initial velocity
float y=0.95; // Initial position
float t=0; // Initial time
void setup()
{
size(500, 500);
}
void draw()
{
vy=vy+(g-((k/m)*vy))*dt;
if(y<0)
{
vy=-vy;
}
y=y+(vy*dt);
t=t+dt;
float sx=map(0.5,0,1,0,width);
float sy=map(y,0,1,height-1,0);
fill(255,0,0);
ellipse(sx,sy,10,10);
}
答案 0 :(得分:2)
你永远不会清除旧框架,所以你绘制的任何内容都只是绘制在你之前绘制的任何内容之上。
如果您要清除旧框架,请将background()
功能作为draw()
功能的第一行添加。
可以在the reference或this tutorial中找到有关处理动画的更多信息(免责声明:我编写了该教程)。