J'essaye d'implémenter une pause/lecture pour une esquisse avec la même touche, par exemple si j'appuie sur p l'esquisse devrait s'arrêter et si j'appuie à nouveau sur p, l'esquisse devrait recommencer. Jusqu'à présent, j'ai utilisé le noLoop()/loop() pour le faire mais avec deux clés différentes (p pour la pause, r pour le début). Cela fonctionne si j'utilise keyPressed() et keyReleased() mais cela signifie que je dois maintenir la touche enfoncée mais cela ne répond pas à ma question. Aussi en mode pause j'ai utilisé redraw() pour une seule étape pendant que noLoop() et fonctionne bien. Voici un code que j'ai essayé à ce jour avec deux clés différentes:Comment faire une pause/jouer une esquisse dans le traitement avec le même bouton?
public void draw(){
background(random(255));
}
public void keyPressed(){
if (key == 'p')
noLoop();
if (key == 'r')
loop();
if (key == 's')
redraw();
}
Et voici le code avec la même clé:
public void draw(){
background(random(255));
}
public void keyPressed(){
if (key == 'p')
noLoop();
if (key == 'p')
loop();
if (key == 's')
redraw();
}
Dans ce cas, quand j'appuie sur la touche, il n » t avoir aucun effet. Et le dernier j'ai essayé est le suivant:
public void draw(){
background(random(255));
}
public void keyPressed(){
if (key == 'p')
noLoop();
else
loop();
if (key == 's')
redraw();
}
Dans ce cas, quand je presse « p » il arrête le dessin mais ne joue pas encore. A cause du 'else', il joue de nouveau quand j'appuie sur une touche quelconque, y compris 's', qui est censée être juste pour un seul pas. Toute aide est plus que bienvenue. Merci!
Très apprécié. C'était ma première question ici et je ne connaissais pas MCVE. J'ai édité le post et je pense que c'est la façon dont vous avez suggéré. A propos du code maintenant, il fonctionne exactement comme j'en ai besoin et je garderai à l'esprit votre recommandation de prendre l'habitude de passer à travers le code. –