Bonjour,
J'aimerais afficher une liste d'images une à une à chaque fois que j'appuie sur une touche, dans un sens comme dans l'autre sans que ça s'arrête. Si je vais dans l'ordre de ma liste, une fois au bout ça reviens à 0, par contre si je veux aller dans l'autre sens, une fois à 0, je n'arrive pas à retourner sur la fin de ma liste.
Pouvez-vous m'aider?
Voici le code:
int n = 9;
PImage[] images = new PImage[n];
int b; // position dans l'espace de la matrice
void setup(){
size(800, 600);
frameRate(10);
noStroke();
for(int i = 0; i < n; i++){
images[i] = loadImage("marey_" + i + ".jpg");
}
}
void draw(){
background(255);
image(images[b], 0, 0, width, height);
}
void keyReleased(){
if(keyCode == LEFT){
b--;
if(b<=0) b= images.length;
}
if(keyCode == RIGHT){
b++;
if (b>= images.length) b = 0;
}}
Hors ligne
if(keyCode == LEFT){
b--;
if(b<=0) b= images.length-1;
}
Hors ligne
images.length = le nombre d'éléments dans ton tableau = 10
mais en fait l'indexation se fait de 0 à 9
donc images[10] n'existe pas
Hors ligne
En plus pour ne pas perdre l'élément 0 avec LEFT :
if(b<0) b= images.length-1;
Hors ligne
Super merci, je me doutais bien que c'était simple, quand on est dessus que de temps en temps, on oublie la logique.
Sur le programme final, j'ai un autre soucis, mais je vais y réfléchir plus posément.
Encore merci pour la réponse
Hors ligne
Pages: 1