sábado, 21 de novembro de 2015

Bola quicando - Acelerando as coisas...

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