Bonjours, j'aimerai savoir commet réinitialiser mon ArryList lorsque j'appuis sur le bouton de ma souris.
C'est pour que lorsque le jeu recommence le nombre de meteorites soit de nous a 2 car sinon le nombre de meteorite de la partie précédente reste.
Ex : si il y avait 6 meteorite a la fin de la première partie, il y en aura 6 au début de la seconde.
Mon programme est le suivant :
Merci beaucoup de pouvoir m'aider ! Je ne vous embêterais plus apres ! ><
Hors ligne
Et bien de la même manière que tu l'initialises au début de ton sketch...
meteorites = new ArrayList<Meteorite>(); //permet de creer une nouvelle meteorite for (int i = 0; i < nbreMeteorite; i++) { meteorites.add(new Meteorite(width/2, 780)); if( }
Tu peux en faire une nouvelle fonction que tu appelles au besoin, y compris dans ton setup().
Sinon, tu peux aussi utiliser la méthode remove() et tout retirer en ne gardant qu'un objet.
...
En fait, le commentaire dans sketch est mal placé.
Il devrait être deux lignes en dessous où l'on ajoute bien une nouvelle Meteorite.
la ligne "meteorites =" crée, elle, l'ArrayList qui contiendra les Meteorite.
Pour récupérer les événements de la souris, va faire un tour ici :
http://www.processing.org/reference/mousePressed.html
À la place du fill(0); de l'exemple, tu n'auras qu'à appeler ta fonction d'initialisation.
Bon courage.
Hors ligne
Merci beaucoup, je n'ai pas tout compris mais es ce que je doit mettre le code suivant ?
Et dois-je la laisser dans le setup?
If(mousePresse==false){ for (int i = 0; i < nbreMeteorite; i++) { meteorites.add(new Meteorite(width/2, 780)); } Else(){ for (int i = 0; i < nbreMeteorite; i++) { remove(); }
Dernière modification par Lilith (2014-05-25 15:46:45)
Hors ligne
Je n'ai pas testé le code ci-dessous mais l'esprit y est...
Tu crées une fonction d'initialisation que tu appelles quand tu en as besoin.
int nbreMeteoriteInitial; ArrayList<Meteorite> meteorites; void setup() { nbreMeteoriteInitial = 2; maFonctionQuiInitialise(); } void draw() { if (mousePressed == true) { maFonctionQuiInitialise(); } } void maFonctionQuiInitialise() { meteorites = new ArrayList<Meteorite>(); for (int i = 0; i < nbreMeteoriteInitial; i++) { meteorites.add(new Meteorite(width/2, 780)); } }
Bon courage...
Hors ligne
Oui ca marche ! Merci beaucoup !
Hors ligne