Annonce

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


#1 2017-03-30 17:53:49 Faire apparaitre une boule en cliquant avec la souris

abcisn
nouveau membre
Date d'inscription: 2017-03-29
Messages: 6

Faire apparaitre une boule en cliquant avec la souris



Bonjour,

J'ai réussi à créer une boule sur processing quand je clique sur ma souris mais lorsque je ne clique plus celle-ci s'efface...
Comment je pourrai faire pour qu'elle reste sur mon écran après avoir appuyé ?

Hors ligne

 

#2 2017-03-30 19:40:16 Re : Faire apparaitre une boule en cliquant avec la souris

MAHMS
nouveau membre
Date d'inscription: 2016-03-09
Messages: 8

Re: Faire apparaitre une boule en cliquant avec la souris



la solution est certainement avec ton
background();

bascule le dans le setup(){}

sinon colle nous ton sketch.

Hors ligne

 

#3 2017-03-31 19:19:54 Re : Faire apparaitre une boule en cliquant avec la souris

abcisn
nouveau membre
Date d'inscription: 2017-03-29
Messages: 6

Re: Faire apparaitre une boule en cliquant avec la souris



Voici mon sketch.

Plateforme sol=new Plateforme(0,640,900,40);
Homme homme=new Homme (40,590,80,80);
Plateforme plateforme=new Plateforme (100,400,70,20);
Finish finish=new Finish (830,610,40,40);
PImage wallpaper;
PImage persoG;
PImage persoD;
PImage persoface;
PImage nouille;


void setup(){
  size(900,670);
  background(100,100,100);
  wallpaper= loadImage("wallpaper1.jpg");
  image(wallpaper,0,0);
  persoG= loadImage("marchegauche.png");
  persoD= loadImage("marchedroite.png");
  persoface= loadImage("face.png");
  nouille= loadImage("nouille.png");

}

void draw(){
  image(wallpaper,0,0,900,670);
  sol.affiche();
  homme.affiche();
  homme.bouge();
  homme.saut();
  homme.collision();
  homme.keyPressed();
  finish.affiche();
  plateforme.affiche();
  if (mousePressed){
    ellipse (mouseX,mouseY,50,50);
  }
}

Hors ligne

 

#4 2017-04-01 10:02:55 Re : Faire apparaitre une boule en cliquant avec la souris

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Faire apparaitre une boule en cliquant avec la souris



Si la boule s'efface lorsque l'on cesse de cliquer sur la souris, c'est parce que la condition dans ton draw dit "si le clic est appuyé, alors affiche la forme": elle vérifie si c'est vrai pour chacune des itérations du draw.

Une solution possible serait d'utiliser les variables booléennes, qui pourrait permettre d'étendre le temps d'apparition au gré de conditions arbitrairement établies. Un exemple concret:

boolean clic = false;

void setup(){
  size(900, 670);
}

void draw(){
  background(255);
  if(mousePressed){
    clic = true;
  }
  if(clic){
    ellipse(mouseX, mouseY, 50, 50);
  }
}

Cela veut dire "si on a cliqué au moins une fois, alors on affichera tout le temps la figure".

Hors ligne

 

#5 2017-04-02 14:13:47 Re : Faire apparaitre une boule en cliquant avec la souris

abcisn
nouveau membre
Date d'inscription: 2017-03-29
Messages: 6

Re: Faire apparaitre une boule en cliquant avec la souris



D'accord, merci beaucoup !!
Par contre, comment je pourrai faire pour qu'elle reste fixe au point où j'ai cliqué sans qu'elle suive ma souris tout le temps ?

Hors ligne

 

#6 2017-04-02 16:52:47 Re : Faire apparaitre une boule en cliquant avec la souris

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Faire apparaitre une boule en cliquant avec la souris



eh bien... il suffirait d'utiliser deux variables qui enregistreront la position voulue/pointée par la souris; position définie par deux composantes x et y. je te laisse chercher wink

Dernière modification par jojolaglaise (2017-04-02 18:06:16)

Hors ligne

 

#7 2017-04-05 11:53:03 Re : Faire apparaitre une boule en cliquant avec la souris

abcisn
nouveau membre
Date d'inscription: 2017-03-29
Messages: 6

Re: Faire apparaitre une boule en cliquant avec la souris



J'ai créé des variables :
int x=mouseX;
int y=mouseY;

et je l'ai ai mis dans un "if"...
  if(clic){
    ellipse(x,y,50,50);
  }
Mais c'est encore pire... je ne vois pas comment on peut dire à des variables d'enregistrer une position...

Hors ligne

 

#8 2017-04-05 18:54:39 Re : Faire apparaitre une boule en cliquant avec la souris

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Faire apparaitre une boule en cliquant avec la souris



Et quelle est la condition pour "enregistrer" une position?
Cliquer pardi! Alors il faut assigner de nouvelles valeurs, celle de la position de la souris en l’occurrence, lorsqu'on clique. Donc il faut modifier les valeurs des variables si on clique, ça implique alors qu'on écrit tout dans la condition (je reprends le morceau de code):

boolean clic = false;
int posX, posY;

void setup(){
  size(900, 670);
}

void draw(){
  background(255);
  if(mousePressed){
    clic = true;
    posX = mouseX;
    posY = mouseY;
  }
  if(clic){
    ellipse(posX, posY, 50, 50);
  }
}

Hors ligne

 

#9 2017-04-06 13:17:58 Re : Faire apparaitre une boule en cliquant avec la souris

abcisn
nouveau membre
Date d'inscription: 2017-03-29
Messages: 6

Re: Faire apparaitre une boule en cliquant avec la souris



Effectivement, ça fonctionne big_smile
Merci beaucoup en tout cas !!!

Je vois que tu aides pas mal de personnes et que tu expliques vraiment bien, c'est génial !

Hors ligne

 

#10 2017-04-06 18:37:08 Re : Faire apparaitre une boule en cliquant avec la souris

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Faire apparaitre une boule en cliquant avec la souris



Obrigado amigo!

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024