updateBoule/immortel
This commit is contained in:
@@ -71,6 +71,10 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
//-------------------------------------------------------------------------
|
||||
public void Monter(){
|
||||
montee = true;
|
||||
// Évite l'effet "chute incontrôlable" quand on reprend la montée tard.
|
||||
if (vitesse > 2.0) {
|
||||
vitesse = 2.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -108,31 +112,36 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
//-------------------------------------------------------------------------
|
||||
@Override
|
||||
void Animer() {
|
||||
// pas est à prendre comme un "delta t"
|
||||
|
||||
// chute libre
|
||||
vitesse = vitesse + 9.81 * pas;
|
||||
double gravite = 0.95;
|
||||
double poussee = 1.45;
|
||||
double amortissement = 0.92;
|
||||
|
||||
// impulsion
|
||||
if (montee==true) {
|
||||
vitesse = vitesse - impulsion *pas;
|
||||
vitesse -= poussee;
|
||||
} else {
|
||||
vitesse += gravite;
|
||||
}
|
||||
|
||||
depY = 1/2 * 9.81 + vitesse * pas;
|
||||
|
||||
if (depY<-10) {
|
||||
depY=-10;
|
||||
|
||||
// Lissage global pour un ressenti plus régulier.
|
||||
vitesse *= amortissement;
|
||||
|
||||
if (vitesse < -6.5) {
|
||||
vitesse = -6.5;
|
||||
}
|
||||
if (depY>10){
|
||||
depY =10;
|
||||
if (vitesse > 6.5) {
|
||||
vitesse = 6.5;
|
||||
}
|
||||
y+=depY;
|
||||
|
||||
depY = vitesse;
|
||||
y += depY;
|
||||
|
||||
//position
|
||||
if(y<= 0 + rayon){
|
||||
y = 0 + rayon;
|
||||
vitesse = 0;
|
||||
}else if(y>=600 - rayon){
|
||||
y = 600 - rayon;
|
||||
vitesse = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user