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 :

problème animation en SDL avec SDL_Delay


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 28
    Points
    28
    Par défaut problème animation en SDL avec SDL_Delay
    j'ai réalisé un petit code
    d'une part on à une initialisation:
    chargement des images et une boucles de verification en cas d'erreur:
    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
    void init()
    {
     int a;
     //chargement des images
     anim[1]=SDL_LoadBMP("0001.bmp");
     anim[2]=SDL_LoadBMP("0002.bmp");
     anim[3]=SDL_LoadBMP("0003.bmp");
     anim[4]=SDL_LoadBMP("0004.bmp");
     anim[5]=SDL_LoadBMP("0005.bmp");
     anim[6]=SDL_LoadBMP("0006.bmp");
     anim[7]=SDL_LoadBMP("0007.bmp");
     anim[8]=SDL_LoadBMP("0008.bmp");
     anim[9]=SDL_LoadBMP("0009.bmp");
     anim[10]=SDL_LoadBMP("0010.bmp");
     anim[11]=SDL_LoadBMP("0011.bmp");
     anim[12]=SDL_LoadBMP("0012.bmp");
     anim[13]=SDL_LoadBMP("0013.bmp");
     anim[14]=SDL_LoadBMP("0014.bmp");
     anim[15]=SDL_LoadBMP("0015.bmp");
     anim[16]=SDL_LoadBMP("0016.bmp");
     anim[17]=SDL_LoadBMP("0017.bmp");
     anim[18]=SDL_LoadBMP("0018.bmp");
     anim[19]=SDL_LoadBMP("0019.bmp");
     anim[20]=SDL_LoadBMP("0020.bmp");
     anim[21]=SDL_LoadBMP("0021.bmp");
     anim[22]=SDL_LoadBMP("0022.bmp");
     anim[23]=SDL_LoadBMP("0023.bmp");
     anim[24]=SDL_LoadBMP("0024.bmp");
     anim[25]=SDL_LoadBMP("0025.bmp");
     anim[26]=SDL_LoadBMP("0026.bmp");
     anim[27]=SDL_LoadBMP("0027.bmp");
     anim[28]=SDL_LoadBMP("0028.bmp");
     anim[29]=SDL_LoadBMP("0029.bmp");
     anim[30]=SDL_LoadBMP("0030.bmp");
     anim[31]=SDL_LoadBMP("0031.bmp");
     anim[32]=SDL_LoadBMP("0032.bmp");
     //verification
     for(a=0;a<=32;a++)
     {
      if(anim[a])
      {
      std::cerr << "Problème pour initialiser SDL\n" << SDL_GetError() << std::endl;
      }
     }
     
    }
    et d'autres par ma deuxième partit une boucle qui utilise SDL_Delay et permet d'afficher mes 32 images qui normalement devrait s'afficher toute les 250ms.sauf que s'est toujours la dernière images qui s'affiche :/ where is the problem?svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void animation()
    {
     int a;
     
     for(a=0;a<=32;a++)
     {
     SDL_Rect r={0};
     SDL_BlitSurface(anim[a],NULL,screen,&r);
     SDL_Delay(250);
     }
     
     }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Peut être une cause de ton problème, en C, le 1er élément d'un tableau est l'indice 0 et dans ton cas, le dernier élément est 31.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    anim[0]=SDL_LoadBMP("0001.bmp");
    anim[1]=SDL_LoadBMP("0002.bmp");
    ...
    anim[30]=SDL_LoadBMP("0031.bmp");
    anim[31]=SDL_LoadBMP("0032.bmp");
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 28
    Points
    28
    Par défaut
    malheureusement ça ne résout pas mon souci et meme si je met plusieur blit et un delais entre chque blit il ne m'affiche que la dernière image

  4. #4
    Membre actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 263
    Points
    263
    Par défaut
    il faudrait faire un SDL_Flip entre chaque SDL_Delay pour voir l'animation.
    Ceci dit ce n'est pas la meilleurs implémentation, il est préferable de fabriquer un timer comme expliqué ici. Tu peux intégré ce timer dans ta classe pour encapsuler tout ca comme montre vers la fin de ce tuto
    all your base are belong to us.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Points : 28
    Points
    28
    Par défaut
    merci tout marche maintenant ça fait plaisir

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

Discussions similaires

  1. Problème de compilation gcc avec SDL
    Par Ryzen dans le forum SDL
    Réponses: 1
    Dernier message: 08/01/2015, 17h04
  2. Problème animation avec key
    Par swo.line dans le forum Flash
    Réponses: 0
    Dernier message: 03/06/2009, 22h24
  3. Problème SDL avec CodeBlock
    Par dr_nietzsche dans le forum Windows
    Réponses: 1
    Dernier message: 11/12/2008, 21h09
  4. Problème anim flash avec IE
    Par jultoys dans le forum Flash
    Réponses: 1
    Dernier message: 15/05/2007, 16h18
  5. problème de capture son avec Directshow
    Par albator83 dans le forum DirectX
    Réponses: 2
    Dernier message: 06/11/2003, 17h18

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