Annonce

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


#1 2014-11-20 17:57:38 rectangle grossisssant pour fenetre

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

rectangle grossisssant pour fenetre



Salut a tous

voila mon problème je cherche a faire un rectangle qui grossi de coin a coin en angle donc pour une fenêtre dans mon programme j'ai faite ce bout de code la le rectangle grossi belle et bien mais je bug sur le problème des limites a atteindre pour que mon rectangle s'ouvre a la bonne grandeur
quelqu'un pourrait t-il m'aider a trouver la solution a ce problème

int rectX = 250;
int rectY = 250;
int rectW = 0;
int rectH = 0;
int rectReachW = 75;
int rectReachH = 150;
int rectIncW = 1;
int rectIncH = 1;
boolean reach = false;

void setup() {
  size(500,500);
  background(0,0,255);
  }

void draw() {
  fill(255);
  stroke(3);
  rect(rectX,rectY,rectW,rectH);
  
  rectW += rectIncW;
  rectH += rectIncH;
  
 if(rectW == rectReachW && rectH == rectReachH){
   reach = true; }
 else {
   reach = false; }
   println(reach);
}

Merci
Danny

Hors ligne

 

#2 2014-11-20 22:44:43 Re : rectangle grossisssant pour fenetre

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: rectangle grossisssant pour fenetre



Ton test est toujours faux car tes limites sont différentes et ton incrémentation et tes valeurs d'origine sont les mêmes.
Si tu souhaites que l'une ou l'autre mites sont atteintes utilise le OU logique. Il est préférable de tester la supériorité plutôt que l'égalité.

  if (rectW > rectReachW || rectH > rectReachH) {
    reach = true;
    noLoop();
  } else {
    reach = false;
  }

Hors ligne

 

#3 2014-11-21 02:35:02 Re : rectangle grossisssant pour fenetre

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: rectangle grossisssant pour fenetre



Ok ses bon pour sa merci
mais le carrer grossi pas de coin en coin si les coter sont egaux cest bon mais si il est plus grand en hauteur sa fonctionne pas
jarrive pas a les faire arreter de grandir a une certaine limite (rectReachH et W)

Hors ligne

 

#4 2014-11-21 08:15:23 Re : rectangle grossisssant pour fenetre

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: rectangle grossisssant pour fenetre



Il est difficile de comprendre grossir de coin en coi, je suppose que tu souhaites ceci :

int rectX = 250;
int rectY = 250;
int rectW = 0;
int rectH = 0;
int rectReachW = 75;
int rectReachH = 150;
int rectIncW = 1;
int rectIncH = 2;
boolean reach = false;

void setup() {
  size(500, 500);
  background(0, 0, 255);
  rectMode(CENTER);
}

void draw() {
  fill(255);
  stroke(3);
  rect(rectX, rectY, rectW, rectH);

  rectW += rectIncW;
  rectH += rectIncH;

  if (rectW > rectReachW || rectH > rectReachH) {
    reach = true;
    noLoop();
  } else {
    reach = false;
  }
  println(reach);
}

Hors ligne

 

#5 2014-11-22 03:12:09 Re : rectangle grossisssant pour fenetre

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 242

Re: rectangle grossisssant pour fenetre



Oui ces en plein ca mais sans rect(CENTER)

Je te remercie beaucoup
danny
a+

Hors ligne

 

#6 2014-11-22 05:31:38 Re : rectangle grossisssant pour fenetre

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: rectangle grossisssant pour fenetre



Il suffit juste de modifier la construction de ton rectangle :

  rect(rectX - rectW / 2, rectY - rectH / 2, rectW, rectH);

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024