Annonce

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


#1 2015-02-06 15:03:15 le déplacement d'une image laisse une trace derrière elle

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

le déplacement d'une image laisse une trace derrière elle



Bonjour,
J'ai crée une image png  IM 1 avec 2 carrés rouges avec fond transparent qui se déplace au dessus d'une autre image IM 3.
   Lors du déplacement les carrés laissent un trace derrière eux. Donc au lieu d'avoir deux carrés qui traversent l'écran, j'ai deux lignes de la largeur des carrés qui s'affichent progressivement. Comme y remédier?

Merci d'avance

voici le prgramme

float X = -400;


void setup()
   {
     size (600, 500,P3D);
     background( 0);
   
   }
   
void draw(){
  println(X);
  IM();
  CAR();
}
  void RECT(){
    pushMatrix();
     fill(0);
     rect(0,0,600,500,2);
     popMatrix();
  }
   
  void IM() {
    pushMatrix();
   PImage monImage;
   monImage = loadImage ("IM 1.png");
   translate(200,100,5);
   image (monImage,0,0);
   
   popMatrix();
  }

void CAR() {   
  pushMatrix();
  smooth();
  PImage tonImages;
  tonImages = loadImage("IM3.png");
    translate(X,0,15);
    image (tonImages,0,0);
 
   X +=1;
   popMatrix();
   }

Hors ligne

 

#2 2015-02-06 19:45:21 Re : le déplacement d'une image laisse une trace derrière elle

matheynen
membre
Date d'inscription: 2008-06-09
Messages: 226

Re: le déplacement d'une image laisse une trace derrière elle



Alors de deux choses l'une :

Mets d'abord tes loadImage dans le setup.
Là tu les recharche à chaque frame alors qu'il suffit de les initialiser une seule fois.
Pour ce tes variables PImage doit être globale. Je te laisse chercher comment faire.

Ensuite utilise déplace ton background() au début du draw().

Tu y est presque


Ce que vous avez fait au plus petit de mes frères, c'est à moi que vous l'avez fait.

Hors ligne

 

#3 2015-02-10 10:58:21 Re : le déplacement d'une image laisse une trace derrière elle

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

Re: le déplacement d'une image laisse une trace derrière elle



Ok parfait, merci pour les renseignements.
Quel est l'intérêt de mettre le background() dans le draw() plutôt que dans le setup(), en quoi cela agit-il?

Hors ligne

 

#4 2015-02-10 12:43:23 Re : le déplacement d'une image laisse une trace derrière elle

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

Re: le déplacement d'une image laisse une trace derrière elle



En fait si tu mets le background() au début de la méthode draw() cela "efface" la fenêtre à chaque frame donc ensuite tu peux reconstruire ton image.
Dans le setup() cet effacement n'agit qu'au début.

Hors ligne

 

#5 2015-02-11 08:45:28 Re : le déplacement d'une image laisse une trace derrière elle

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

Re: le déplacement d'une image laisse une trace derrière elle



ok merci, je comprend mieux maintenant l'importance de mettre certaines infos dans le draw() plutôt que dans le setup(),, même si, ça parait évident une fois compris

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024