update:Boule
This commit is contained in:
@@ -6,6 +6,16 @@ import java.awt.Graphics2D;
|
||||
import java.awt.geom.Arc2D;
|
||||
|
||||
public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercle
|
||||
private static final BasicStroke ARC_STROKE = new BasicStroke(5.0f);
|
||||
private static final double GRAVITE = 0.95;
|
||||
private static final double POUSSEE = 1.45;
|
||||
private static final double AMORTISSEMENT = 0.92;
|
||||
private static final double VITESSE_MIN = -6.5;
|
||||
private static final double VITESSE_MAX = 6.5;
|
||||
private static final double BORD_HAUT = 0;
|
||||
private static final double BORD_BAS = 600;
|
||||
private final Arc2D.Double arc = new Arc2D.Double();
|
||||
|
||||
// Hérite de la classe ObjetGraphique
|
||||
// Ne pas oublier qu'il y a des propriétés et méthodes reçues par l'héritage
|
||||
|
||||
@@ -94,11 +104,12 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
void Afficher(Graphics g) {
|
||||
// choix de la couleur et de l'épaisseur
|
||||
Graphics2D g2D = (Graphics2D) g;
|
||||
g2D.setStroke(new BasicStroke(5.0f));
|
||||
g2D.setStroke(ARC_STROKE);
|
||||
g.setColor(this.couleur);
|
||||
|
||||
// dessin de l'arc
|
||||
g2D.draw(new Arc2D.Double(x-rayon/2, y-rayon, rayon, rayon*2, debut, fin, Arc2D.OPEN));
|
||||
arc.setArc(x - rayon / 2.0, y - rayon, rayon, rayon * 2.0, debut, fin, Arc2D.OPEN);
|
||||
g2D.draw(arc);
|
||||
}
|
||||
|
||||
// Accesseur pour savoir si le joueur maintient la montée
|
||||
@@ -112,35 +123,31 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
//-------------------------------------------------------------------------
|
||||
@Override
|
||||
void Animer() {
|
||||
double gravite = 0.95;
|
||||
double poussee = 1.45;
|
||||
double amortissement = 0.92;
|
||||
|
||||
if (montee==true) {
|
||||
vitesse -= poussee;
|
||||
if (montee) {
|
||||
vitesse -= POUSSEE;
|
||||
} else {
|
||||
vitesse += gravite;
|
||||
vitesse += GRAVITE;
|
||||
}
|
||||
|
||||
// Lissage global pour un ressenti plus régulier.
|
||||
vitesse *= amortissement;
|
||||
vitesse *= AMORTISSEMENT;
|
||||
|
||||
if (vitesse < -6.5) {
|
||||
vitesse = -6.5;
|
||||
if (vitesse < VITESSE_MIN) {
|
||||
vitesse = VITESSE_MIN;
|
||||
}
|
||||
if (vitesse > 6.5) {
|
||||
vitesse = 6.5;
|
||||
if (vitesse > VITESSE_MAX) {
|
||||
vitesse = VITESSE_MAX;
|
||||
}
|
||||
|
||||
depY = vitesse;
|
||||
y += depY;
|
||||
|
||||
//position
|
||||
if(y<= 0 + rayon){
|
||||
y = 0 + rayon;
|
||||
if (y <= BORD_HAUT + rayon) {
|
||||
y = BORD_HAUT + rayon;
|
||||
vitesse = 0;
|
||||
}else if(y>=600 - rayon){
|
||||
y = 600 - rayon;
|
||||
} else if (y >= BORD_BAS - rayon) {
|
||||
y = BORD_BAS - rayon;
|
||||
vitesse = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user