IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

animation SDL C


Sujet :

C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut animation SDL C
    Bonjour,
    J'ai trouvé sur internet un moyen d'animer des images (explosions par exemple) mais l'animation ne s'affiche pas au bon endroit de suite (il faut deux ou trois fois avant qu'il se met au bon endroit.)
    voici les sources:
    copy1.tar.gz
    sources.tar.gz
    merci et bonne journée à tous.

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Bonjour.
    D'après toi, d'où peut venir le problème?
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    à mon avis le problème vient du fait qu'au départ il est à une position et qu'ensuite je lui fais changer la position.

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Ca serait plus simple si tu nous donnais les en-têtes.

    Je ne vois pas de fonction traduisant les coordonnées du jeu en coordonnées à l'écran, c'est généralement un mauvais signe.

    PS: si possible, préfère utiliser [code] (le bouton dièse), plutot qu'inclure un zip.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    je n'ai pas compris ce que t'as voulu dire.
    le problème c'est que les fichier sont assez gros et ça va vite devenir illisible.
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    #ifndef __ANIMATION_H__
    # define __ANIMATION_H__
     
    #include <SDL/SDL.h>
     
    typedef struct
    {
      SDL_Surface           *image;
      Uint16                delay;
    }                       animation_frame;
     
    typedef struct
    {
      Uint16                nbr_of_frames;
      animation_frame       *frames;
    }                       animation;
     
    typedef struct
    {
      const animation       *anim;
      enum { STOP, PLAY }   status;
      Uint16                current_frame;
      Uint16                counter;
    }                       animator;
     
    typedef struct  s_jeu
    {
      char          letsexit;
      int           nb_explo;
      /* L'animation et les tableaux contenant les animators ainsi que leurs positions */
      animation     *anim;
      animator      *player;
      SDL_Rect      *pos;
      SDL_Surface   *screen;
    }               t_jeu;
     
     
    void                    animation_frame_init(animation_frame * frame, SDL_Surface * image, Uint16 delay);
    void                    animation_frame_cleanup(animation_frame * frame);
    void                    animation_frame_draw(animation_frame * frame, SDL_Surface * dst, SDL_Rect * pos);
    void                    animation_init(animation * anim, Uint16 nbr_of_frames);
    void                    animation_setframe(animation * anim, Uint16 pos, SDL_Surface * surface, Uint16 delay);
    void                    animation_cleanup(animation * anim);
    void                    animator_init(animator *player, animation *anim);
    void                    animator_play(animator * ator);
    void                    animator_stop(animator * ator);
    void                    animator_rewind(animator * ator);
    void                    animator_nextframe(animator * ator);
    void                    animator_update(animator * ator);
    void                    animator_draw(animator * ator, SDL_Surface * dest, SDL_Rect * pos);
     
    #endif /* !__ANIMATION_H__ */
    posx = (1200 - 1200) / 2;
    posy = (1600 - 1600) / 2;

    c'est un truc comme ça que tu disais de faire ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    est-ce que je dois quand même poster les codes même si ils sont long ?

  7. #7
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    poste - s'il te plait - une archive avec l'intégralité du projet pour qu'on puisse compiler, tester chez nous etc. + dans les balises [CODE][/CODE] la ou les parties de code qui semblent poser problème selon toi, ainsi on dispose de tout ce qu'il faut pour t'aider au mieux, y compris des indications que tu peux apporter

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2011
    Messages : 95
    Points : 34
    Points
    34
    Par défaut
    J'ai résolu mon problème merci de votre aide.

  9. #9
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    tu postes sans plus d'explication et l'archive n'est toujours pas complète, il manque au minimum les headers, tant pis.

    bon courage à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème animation en SDL avec SDL_Delay
    Par juju116 dans le forum Débuter
    Réponses: 4
    Dernier message: 30/08/2010, 21h04
  2. SDL: probleme animation
    Par jalil119 dans le forum SDL
    Réponses: 3
    Dernier message: 01/05/2010, 00h57
  3. sprites et animation sur sdl
    Par yous18 dans le forum C
    Réponses: 4
    Dernier message: 30/03/2010, 00h56
  4. Animations (hors sprite) en SDL
    Par blake_ch dans le forum SDL
    Réponses: 5
    Dernier message: 13/01/2010, 18h13
  5. Les animations en SDL et les FPS
    Par FabaCoeur dans le forum SDL
    Réponses: 3
    Dernier message: 14/04/2007, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo