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
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
Ok Merci; je connaissais cette instruction mais je n'avais pas compris son utilisation
Hors ligne
Pages: 1