Bonjour,

J'essaye de faire un algorithme d'animation. Je peut ajouter autant de frames que je veux, mais lorsque j'essaye de les faire passer, l'animation marche une fois, mais ne se répète jamais.

Je m'explique:

-J'ai une horloge clock qui peut mesurer le temps écoulé et recommencer.
-Un tableau times[] qui contient des valeurs temporelles représentée sous forme de nombres rationnels
-Un tableau frames[] qui contient les différentes images
-Un entier a = 0;
-Une texture current_frame qui est la texture actuelle

Voici mon algoritme en pseudo-code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
for(int i = 0; i < frames.size(); i++)
{
    if (clock.get_elapsed_seconds() < times[0])
    {
        current_frame = frames[0];
    }
 
    else if (clock.get_elapsed_seconds() > times[frames.size() - 1])
   {
       current_frame = frames[frame.size() - 1];
       clock.restart();
       a = 0;
   }
 
   else if (clock.get_elapsed_seconds() >= times[a] && clock.get_elapsed_seconds < times[a + 1])
    {
        current_frame = frames[a];
        a++;
    }
}
Merci pour votre aide !