Bonjour,
Je suis entrain de developper un pett moteur 2D en C.
J'utilise SDL, mais j'ai un problème de conception au niveau du temps dont je n'arrive pas a trouver de solution.
Pour animer mes sprite j'ai besoin d'un entier temps et next = temps + (1 /FPS).
Ce sont tous les deux des int. Pour connaitre le temps, j'utilise SDL_GetTicks().
Seul problème, en faisant cela j'ai un risque d'overflow lié à la taille d'un entier donc je module mon temps et mon next par une constante afin de ne jamais avoir d'overflow.
Seul problème, quand je fait cela il m'arrive que le temps modulé reviennent à 0 alors que next lui se situe juste avant la limite de module, ce qui entraine au niveau du jeu un blocage de l'animation des sprite car temps n'est pas supérieur à next.
J'aurais aimé savoir comment dépasser ce problème.
J'avais penser à user un uint32, mais celà ne change pas qu'a un moment donné je risque un overflow.
Merci d'avance.
Partager