Fazer uma bola quicar na tela, aumentando sua velocidade em
1% cada vez que ela quicar.
Segue abaixo o código comentado:
int r=20;
float bolaX= r;
float dX=5;
float
bolaY=400;
float dY=5;
void
setup(){
size(800,600);
}
void
draw(){
background(0);
ellipse(bolaX, bolaY, 2*r, 2*r);//cria a bola
bolaX=bolaX+dX;
bolaY=bolaY+dY;//movimenta a bola
if (bolaY>=600-r){
dY=-(dY+dY/100);
dX+=dX/100;
}
//quica a bola no
chão, aumenta a velocidade em 1%
if (bolaY<=r){
dY=-(dY+dY/100);
dX+=dX/100;
}
//quica a bola no
teto, aumenta a velocidade em 1%
if (bolaX>=800-r){
dX=-(dX+dX/100);
dY+=dY/100;
}
//quica a bola na
parede esquerda, aumenta a velocidade em 1%
if (bolaX<=r){
dX=-(dX+dX/100);
dY+=dY/100;
}
//quica a bola na
parede direita, aumenta a velocidade em 1%
}
Um cuidado que tive que ter foi de aumentar em 1% a
velocidade em cada dimensão (x,y), cada vez que a bola quicava.
O uso da função MRUV() não seria bom nessa situação, pois
nela a velocidade aumenta de acordo com o tempo. Nessa aplicação, a velocidade
só aumenta quando a bola encosta uma das paredes.
Depois de certo tempo, o incremento da velocidade é tão
grande, que a bola escapa dos limites da aplicação.
Nenhum comentário:
Postar um comentário