Primeiro precisa-se limitar até onde a bola chegará relacionando com o raio que está em constante mudança.Nesse limite invertemos as velocidades para ele ricochetear e adicionamos o aumento desejado.
Foi criado um limite para a alteração do raio da circunferência.
Código:
float xBola = 21;
float yBola = 300;
float Vx = 5;
float Vy = 5;
float R = 20;
float T = 0.1;
void setup()
{
size(800,600);
noStroke();
}
void draw()
{
background(125);
R = R + T;
if ((xBola >= width - R) || (xBola <= R))
{
Vx = Vx + 0.01 * Vx;
Vy = Vy + 0.01 * Vy;
Vx = Vx * -1;
}
if ((yBola >= height - R) || (yBola <= R))
{
Vx = Vx + 0.01 * Vx;
Vy = Vy + 0.01 * Vy;
Vy = Vy * -1;
}
fill(0);
ellipse(xBola,yBola,2*R,2*R);
if((R <= 10) || (R >= 40))
{
T = -T;
}
xBola = xBola + Vx;
yBola = yBola + Vy;
println(Vx,Vy);
}
Resultado:
Nenhum comentário:
Postar um comentário