Gif animé

Résolu
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005 - 27 nov. 2004 à 22:54
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 - 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)

16 réponses

Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
28 nov. 2004 à 21:50
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/
3
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
28 nov. 2004 à 22:29
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...
3
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
28 nov. 2004 à 00:34
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/
0
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005
28 nov. 2004 à 10:22
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
28 nov. 2004 à 15:51
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
0
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005
28 nov. 2004 à 17:38
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)
0
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005
29 nov. 2004 à 11:33
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)
0
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005
29 nov. 2004 à 11:41
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)
0
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005
29 nov. 2004 à 19:43
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)
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
29 nov. 2004 à 22:18
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/
0
komozi Messages postés 19 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 9 mai 2005
30 nov. 2004 à 10:15
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)
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
1 déc. 2004 à 21:22
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.
++
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
1 déc. 2004 à 21:25
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
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
2 déc. 2004 à 17:36
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/
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
2 déc. 2004 à 20:54
mouais...alors autant utiliser time.h non?
bon moi je vais dormir un peu ca m'évitera d'ecrire des conneries, lol...
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
3 déc. 2004 à 20:38
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/
0
Rejoignez-nous