Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// partage de liens //// une carte des membres//// (apéros) codelab


#1 2017-10-10 21:21:49 Collision/Rebond

Allanhelp
nouveau membre
Date d'inscription: 2017-09-16
Messages: 3

Collision/Rebond



Bonsoir,
Voilà, j'ai un mini pong permettant de jouer au jeux classiquement mais mon problème c'est que le rebond de la balle sur les raquettes n'est presque pas présent. J'aimerais que le rebond prenne en compte l'angle de la balle qui arrive pour qu'il rebondisse de façon naturelle ainsi que gérer les rebonds du haut et du bas de la raquette. Voici mon code pour l'instant:

int deplacementX, deplacementY;
int x, y;
int w, z;

void setup() {
size(400,400);
background(0);
x = 200;
y = 200;
deplacementX = 3;
deplacementY = -1;
w = 15;
z = 60;
}

void draw() {
nettoyer();
bouger();
rebondir();
dessiner();
}

void nettoyer() { 
background(0);
}


void dessiner() {
  smooth();
  fill(255);
  ellipse(w,z,25,85);
  fill(255);
  ellipse(x,y,20,20);
  line(200,0,200,400);
}

void bouger() {
x = x + deplacementX;
y = y + deplacementY;
z = (mouseY);
}


void rebondir() {
if (x > width-10 && deplacementX > 0)
{
   deplacementX = -deplacementX; // inverser la valeur
}

if (y > width-10 && deplacementY > 0)
{
   deplacementY = -deplacementY; // rendre négative la valeur
}

if (y < 10 && deplacementY < 10)
{
   deplacementY = abs(deplacementY); // rendre positive cette valeur
}

  if (x<w+35 && y>z && y<z+85)
  {
   deplacementX = -deplacementX; // inverser la valeur
}

if (x < 10)
{
  noLoop();
  println("GAME OVER");   
}
}

Merci d'avance!
PS: La balise code me faisait un carré blanc, c'est pour ça que j'ai mis le code comme ça

Dernière modification par Allanhelp (2017-10-10 21:25:50)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2017