2017-08-09 8 views
0

Je souhaite que l'ancienne forme disparaisse lorsque la nouvelle forme est créée. Aidez-moi, s'il vous plaît. Fondamentalement, je veux créer un rectangle sur le clic mais quand je clique à nouveau le cercle devrait disparaître. Cela devrait arriver avec une probabilité égale.Désactiver une ancienne forme lors de la création d'une nouvelle forme

void setup() 
{ 
    size(400, 400); 
    background(255); 
} 

void draw() 
{ 
    fill(255); 
    tileAp();  
} 

void tileAp() 
{  
    if (mousePressed && mouseY >= 0 && mouseY <= 200) 
    {  
     drawM(true); 
    } 
    else 
    {  
    } 
} 

void drawM(boolean b) 
{ 
    int prob = int(random(0, 2)); 
    if (b == true) 
    { 
     if (prob == 0) 
     { 
      rect(mouseX, mouseY, 50, 50); 
     } 

     if (prob == 1) 
     { 
      ellipse(mouseX, mouseY, 50, 50); 
     }  
    } 
} 

Répondre

0

Comme le dit suggested duplicate, vous devez appeler la fonction background() pour effacer les vieux cadres.

Comparer ce sketch:

<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.6.6/processing.min.js"></script> 
 
<script type="application/processing"> 
 

 
void setup(){ 
 
    size(200, 200); 
 
    background(64); 
 
} 
 

 
void draw(){ 
 
ellipse(mouseX, mouseY, 20, 20); 
 
} 
 

 
</script> 
 
<canvas> </canvas>

Pour celui-ci:

<script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.6.6/processing.min.js"></script> 
 
<script type="application/processing"> 
 

 
void setup(){ 
 
    size(200, 200); 
 
} 
 

 
void draw(){ 
 
background(64); 
 
ellipse(mouseX, mouseY, 20, 20); 
 
} 
 

 
</script> 
 
<canvas> </canvas>