Lisa cliplisa; int norme; int nb; BFont metaBold; Tirette tamorti,tressort,ttempo; float angleX, angleY,rx,ry; //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::le point de départ void setup(){ nb=8; norme=100; background(0); size(450,300); metaBold = loadFont("Meta-Bold.vlw.gz"); tamorti=new Tirette(380,100,60,0.6f,1.6f,"amorti",150, 80,metaBold,this); tressort=new Tirette(380,150,60,0.1f,0.8f,"ressort",150, 80,metaBold,this); ttempo=new Tirette(380,200,60,0.01f,0.7f,"tempo",150,80,metaBold,this); cliplisa= new Lisa(this,nb,norme); cliplisa.init(); } void loop(){ angleY = (mouseX -width * 0.5f) / 50.0f; angleX = - (mouseY - height * 0.5f) / 50.0f; cliplisa.go(); clear(); push(); translate(50,150,-600); ry += (angleY - ry) / 4; rx += (angleX - rx) / 4; rotateY(ry + PI / 5); rotateX(rx + PI / 5); translate(-350,-350,-350); cliplisa.dessiner(); pop(); fill(155,0,0); rect(300,0,150,300); tamorti.actualiser(); cliplisa.tendeurX.amorti=tamorti.getValeur(); cliplisa.tendeurY.amorti=tamorti.getValeur(); tressort.actualiser(); cliplisa.tendeurX.ressort=tressort.getValeur(); cliplisa.tendeurY.ressort=tressort.getValeur(); ttempo.actualiser(); cliplisa.tendeurX.tempo=ttempo.getValeur(); cliplisa.tendeurY.tempo=ttempo.getValeur(); } //::::::::::::la classe de Lisa public class Lisa { int nb; Tendeur tendeurX,tendeurY,tendeurZ; BApplet g; float norme; public Lisa(BApplet g,int nb,float norme) { this.nb = nb; this.g=g; this.norme=norme; this.tendeurX = new Tendeur(nb, 0.81f, 0.2f, 0.87f, norme,g); this.tendeurY = new Tendeur(nb, 0.81f, 0.2f, 0.87f, norme,g); this.tendeurZ = new Tendeur(nb, 0.81f, 0.2f, 0.87f, norme,g); }; public void init() { tendeurX.drag = -1; tendeurY.drag = -1; tendeurZ.drag = -1; for (int i = 0; i0) { prem = drag-1; deux = drag; for (int i = 1; i=deux) { point[i].but = dernier+(dernier-point[i].x)/4; avance(i); } } } } else { for (int i = 1; ipoint[i+1].x-norme*3/5) { point[i].vx *= -0.1; point[i].x = point[i+1].x-norme*3/5; } }; } public class Sommet { float x, vx, cible,but; int numero; public Sommet(float x, float vx, int numero, float cible){ this.x=x; this.vx=vx; this.numero=numero; this.cible=cible; this.but=cible; } } public class Tirette { int x,y,xpos,xbut,longueur,couleur1,couleur2; float valmin,valmax,coef,valeur; String titre; boolean survol,drag; BFont lafonte; BApplet apple; //********************************************************** public Tirette(int x,int y,int longueur,float valmin ,float valmax,String titre,int couleur1,int couleur2,BFont lafont,BApplet apple){ this.x=x; this.y=y; this.xpos=x; this.xbut=x; this.survol=false; this.drag=false; this.longueur=longueur; this.valmin=valmin; this.valmax=valmax; this.coef=(valmax-valmin)/(2*longueur); this.titre=titre; this.valeur=(valmin+valmax)/2; this.couleur1=couleur1; this.couleur2=couleur2; this.lafonte=lafont; this.apple=apple; } //****************************************************** public void actualiser(){ if(!apple.mousePressed && drag) drag=false; survol= (apple.mouseX>xpos-10)&&(apple.mouseXy-10)&&(apple.mouseY