Logique
Boucles
Math
Texte
Listes
Données
Variables
Fonctions
Programmation
p5.js
Objets web
Propriétés
Formes
Tortue
Apparence
GeoGebra
var executerProgramme, canvas, effacerB, rougeG, vertG, bleuG, tailleG, trans, px, py, x, y, rouge, vert, bleu, taille, symm, symmB, infoG, imageB, dessiner; /** * Fonction exécutée une fois, au départ */ function actions_initiales() { executerProgramme = true; if (executerProgramme) { canevas=creerCanvas(500,500); canvas=canevas; assignerParentPrudent("canvas",canvas,"(select('#'+'p5Canvas'))",(select('#'+'p5Canvas'))); couleurFondC((color(224,224,224,255))); identifierControles(); trans = leGraphicsActif.width / 2; dessiner = false; } else { //noCanvas(); noLoop(); } } /** * Décrire cette fonction… */ function identifierControles() { effacerB = select('#'+'btnEffacer'); siClicPrudent("effacerB",effacerB,"effacer",effacer); imageB = select('#'+'btnSauver'); siClicPrudent("imageB",imageB,"sauver",sauver); infoG = select('#'+'couleurS'); rougeG = select('#'+'rougeG'); vertG = select('#'+'vertG'); bleuG = select('#'+'bleuG'); symmB = select('#'+'symCB'); tailleG = select('#'+'traitG'); } /** * Décrire cette fonction… */ function tracerFigure() { segment(px,py,x,y); if (symm) { segment(px,(-py),x,(-y)); segment((-px),py,(-x),y); segment((-px),(-py),(-x),(-y)); segment(py,px,y,x); segment((-py),px,(-y),x); segment(py,(-px),y,(-x)); segment((-py),(-px),(-y),(-x)); } } /** * Fonction exécutée périodiquement, de façon répétée */ function actions_en_boucle() { if (executerProgramme) { leGraphicsActif.translate(trans,trans); rouge = valeurPrudent("rougeG",rougeG); vert = valeurPrudent("vertG",vertG); bleu = valeurPrudent("bleuG",bleuG); afficherCouleur(); stroke_((color(rouge,vert,bleu,255))); symm = valeurPrudent("symmB",symmB); symm = etatCasePrudent("symmB",symmB); taille = valeurPrudent("tailleG",tailleG); strokeWeight_(taille); x = posXsouris() - trans; y = posYsouris() - trans; // 'Gestion ci-dessous via dessiner et (px,py) nécessaire pour tablettes' if (mouseIsPressed && dansCanvas()) { if (dessiner) { tracerFigure(); } dessiner = true; px = x; py = y; } else { dessiner = false; } } } /** * Décrire cette fonction… */ function afficherCouleur() { stylerObjetPrudent("infoG",infoG,'background-color',(substitution('rgb(@1,@2,@3)',[rouge, vert, bleu]))); } /** * Décrire cette fonction… */ function effacer() { couleurFondC((color(224,224,224,255))); } /** * Décrire cette fonction… */ function sauver() { enregistrerCanvas();} /** * Décrire cette fonction… */ function dansCanvas() { return Math.abs(x) < trans && Math.abs(y) < trans; }