Gif animé [Résolu]

komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 27 nov. 2004 à 22:54 - Dernière réponse : Funto66 1267 Messages postés mercredi 1 janvier 2003Date d'inscription 28 février 2007 Dernière intervention
- 3 déc. 2004 à 20:38
bonjour,
j'aurais aimez savoir si c'etait possible de mettre un gif animé en texture...ça a l'air stupide peut etre mais sinon y'a un autre moyen d'animé une suite d'image, comme un sprite ?
voila merci d'avance...

komozi :shy)
Afficher la suite 

16 réponses

Répondre au sujet
Funto66 1267 Messages postés mercredi 1 janvier 2003Date d'inscription 28 février 2007 Dernière intervention - 28 nov. 2004 à 21:50
+3
Utile
En fonction du temps;
à chaque affichage, tu regardes depuis combien de temps est-ce que tu as utilisé telle image du sprite, et si ce temps est supérieur à 1 certain nombre, tu changes de sprite (u pourrais utiliser clock() ou SDL_GetTicks si tu utilises SDL, voire GetTickCount() si tu utilises windows.h).

Autre méthode : tu installes un timer (glutTimerFunc() avec GLUT par exemple), qui change une variable qui indique quelle est l'image du sprite animé qui doit être affichée.

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Funto66
Arnaud16022 1329 Messages postés vendredi 15 août 2003Date d'inscription 16 juin 2010 Dernière intervention - 28 nov. 2004 à 22:29
+3
Utile
oué ou alors tu fais une interpolation linéaire entre les pixels , haha :)
perso j'ai déja testé, c'est bien baleze come truc.
funto -> si ce temps est > a 1 ...
oué bon ca ca dépend... moi je pense que si il change d'image toutes les secondes ca va faire un vieux truc tout moche, 200ms seraient mieux ... enfin on va pas se battre pour ca hein ? ;)
attention, komozi, ta variable de temps sera un float, alors que le numéro de l'image est un int... floor() ira bien.
si tu n'as qu'une seule anim a charger tu peux rentrer les coords de textures pour chaque image directos dans le prog, sinon (c'est ce que j'ai fait, j'ai super galéré) tu passe a ta fonctionle nombre d'images en hauteur, le nombre d'images en largeur, et elle te calcule tout ca...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Arnaud16022
Funto66 1267 Messages postés mercredi 1 janvier 2003Date d'inscription 28 février 2007 Dernière intervention - 28 nov. 2004 à 00:34
0
Utile
Si tu veux faire des animations de sprites, à ta place je créerais simplement plusieurs textures différentes que j'alternerais.

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Commenter la réponse de Funto66
komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 28 nov. 2004 à 10:22
0
Utile
Merci beaucoup, c 'est une idée qui m'etait passer par la tete pendant une seconde, mais ne sachant pas si c'etait réalisable et ne sachant surtout pas comment le faire, j'avais imaginer le truc avec les gif animé...donc puisque c possible, vous pourriez m'expliquer comment faire ça s'il vous plait...

encore merci

komozi :shy)
Commenter la réponse de komozi
Arnaud16022 1329 Messages postés vendredi 15 août 2003Date d'inscription 16 juin 2010 Dernière intervention - 28 nov. 2004 à 15:51
0
Utile
bah c'est tout con,tu crées une texture avec toutes tes images les unes a coté des autres, tu la charge et tu modifie les coords de tex a chaque frame
Commenter la réponse de Arnaud16022
komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 28 nov. 2004 à 17:38
0
Utile
Nonnn, c'est vrai...oh la la, je pensais que sa serait un truc de dingue avec des listes et des multitexturages. Ben merci beaucoup, je vais essayer, et je reviendrai vous embetez au cas ou j'y arrive pas...
mais comment je fais le "a chaque frame" ?

komozi :shy)
Commenter la réponse de komozi
komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 29 nov. 2004 à 11:33
0
Utile
Merci beaucoup les gars, c'est trop sympa....
je crois que j'ai compris, mais bon je sais pas si je vais y arriver...
je reviendrai vous saouler au cas ou...
merci encore.

@c++

komozi :shy)
Commenter la réponse de komozi
komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 29 nov. 2004 à 11:41
0
Utile
Merci beaucoup les gars, c'est trop sympa....
je crois que j'ai compris, mais bon je sais pas si je vais y arriver...
je reviendrai vous saouler au cas ou...
merci encore.

@c++

komozi :shy)
Commenter la réponse de komozi
komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 29 nov. 2004 à 19:43
0
Utile
bon alors en fait, j'ai jamais utilisé de timer donc si c'etait possible que quelq'un me donne un petit exemple de ce que je devrai mettre dans la fonction, je pense que ça me comblerai...
Je pense que je vais utiliser glut pour le mettre...Merci et a votre bon coeur...

komozi :shy)
Commenter la réponse de komozi
Funto66 1267 Messages postés mercredi 1 janvier 2003Date d'inscription 28 février 2007 Dernière intervention - 29 nov. 2004 à 22:18
0
Utile
Regarde un peu sur le site avant de poser ce genre de questions...

T'as des exemples (tous pourris) dans mes sources (c'est parce que mes sources sont vieilles :(), par exemple avec mon Tetris ou mon Snake.

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Commenter la réponse de Funto66
komozi 19 Messages postés vendredi 29 octobre 2004Date d'inscription 9 mai 2005 Dernière intervention - 30 nov. 2004 à 10:15
0
Utile
C'est vrai, t'a raison, je me suis laisser emporter...je vais allez fouiller un peu le site...vous allez quand meme pas tous me faire... ;)
Allez, merci pour les explications et bonne continuation.

@c++

komozi :shy)
Commenter la réponse de komozi
Arnaud16022 1329 Messages postés vendredi 15 août 2003Date d'inscription 16 juin 2010 Dernière intervention - 1 déc. 2004 à 21:22
0
Utile
pour les coords de tex va voir ma source 'hotpot'
pour SDL_ticks effectivement suffit de le replacer pas clock() ou time()
pour <ctime.h> : c'est quoi la différence avec <time.h>????
pour les timers, presque tous les jeux de ce site en ont un...
pour glut... tu fais comme tu veux, mais BOF.
++
Commenter la réponse de Arnaud16022
Arnaud16022 1329 Messages postés vendredi 15 août 2003Date d'inscription 16 juin 2010 Dernière intervention - 1 déc. 2004 à 21:25
0
Utile
oups, je me suis un peu emêlé les pinceaux entrte les différents forums... en fait c'était un message pour la démo opngl de quicky, dsl... ;p
Commenter la réponse de Arnaud16022
Funto66 1267 Messages postés mercredi 1 janvier 2003Date d'inscription 28 février 2007 Dernière intervention - 2 déc. 2004 à 17:36
0
Utile
Mdr Arnaud :p
Ben tant qu'à faire, <ctime.h> n'existe officiellement pas je pense, c'est <ctime> en C++, et il contient bien la même chose que time.h SAUF (il me semble) que tout ce que donne time.h, avec <ctime>, se trouve dans le namespace std ^^

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Commenter la réponse de Funto66
Arnaud16022 1329 Messages postés vendredi 15 août 2003Date d'inscription 16 juin 2010 Dernière intervention - 2 déc. 2004 à 20:54
0
Utile
mouais...alors autant utiliser time.h non?
bon moi je vais dormir un peu ca m'évitera d'ecrire des conneries, lol...
Commenter la réponse de Arnaud16022
Funto66 1267 Messages postés mercredi 1 janvier 2003Date d'inscription 28 février 2007 Dernière intervention - 3 déc. 2004 à 20:38
0
Utile
Ben moi je préfère time.h...mais chacun fait comme il veut

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Commenter la réponse de Funto66

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.