Annonce

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


#1 2015-03-03 12:01:13 l'instruction stroke dans un void agit sur les autres void

PHIFO
membre
Date d'inscription: 2014-04-27
Messages: 91

l'instruction stroke dans un void agit sur les autres void



Bonjour,

     Je cherche à avoir sur une des trois box qui s'affichent les arrêtes d'une dimension différente  des autres. Dans la box B je met bien une instruction "stroke" et strokeWeight" mais celles-ci agissent aussi dans les box A et B, bien que void BoxB() soit encadré par "pushMatrix" et "popMatrix".

     Pour résoudre ce problème j'ai mis dans le "draw" deux instructions "stroke" et "strokeWeight"  après BoxB().

    Si j'ai une vingtaine de boites c'est une solution un peu tarabiscoté.

    Mais c'est surtout qu'il y a quelque chose qui m'échappe au niveau des instructions "pushMatrix" et "popMatrix". J'avais compris que ce qui était compris entre n'influençait pas les autres void().

     Merci d'avance pour une réponse.



// variable croissance Box
float za = 1;float zb = -10;float zc = -1;

//variable angle rotation Box
float z = 0; float z1 = 0; float z2 =0; float z7 =0;


void setup() {
  size (1280, 720, P3D);
  background(0);
  frameRate(24);
}

void draw() {
  translate(0, 0, 150);
  fill(0);
  rect(0, 0, 1280, 720);
  println(frameCount);
  BoxA();
  BoxB();
  stroke(1);
  strokeWeight(1);
  BoxC();
}

void BoxA() { // vert
  pushMatrix();
  translate(800, 240, -10);
  rotateZ(z);
  fill(#12FF03);
  box(50, 50, za);
  z -=0.005;
  za += 0.7;
  popMatrix();
}

void BoxB() {// bleu
  pushMatrix();
  translate(780, 230, -10);
  rotateZ(z1);
  fill(#001BFF);
  strokeWeight(5);
  stroke(255);
  box(45, 45, zb);
  z1 += 0.03;
  zb += 0.5;
  popMatrix();
}   

void  BoxC() {// jaune
  pushMatrix();
  translate(762, 265, -10);
  rotateZ(z7);
  fill ( #FFA30D);
  box(25, 25, zc);
  z7 +=0.035;
  zc += 0.6;
  popMatrix();
}

Hors ligne

 

#2 2015-03-03 13:21:10 Re : l'instruction stroke dans un void agit sur les autres void

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

Re: l'instruction stroke dans un void agit sur les autres void



Bonjour,

Tu as bien compris, mais pushMatrix() et popMatrix() ne s'occupent que de la transformation des coordonnées. Si tu souhaites la même chose pour le style utilise pushStyle() et popStyle() :
https://processing.org/reference/pushStyle_.html

Bon courage.

Hors ligne

 

#3 2015-03-09 08:37:37 Re : l'instruction stroke dans un void agit sur les autres void

PHIFO
membre
Date d'inscription: 2014-04-27
Messages: 91

Re: l'instruction stroke dans un void agit sur les autres void



Ok Merci; je connaissais cette instruction mais je n'avais pas compris son utilisation

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024