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

SDL Discussion :

impossible de faire fonctionner la vidéo


Sujet :

SDL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut impossible de faire fonctionner la vidéo
    Bonjour,

    Je débute avec codeblock et la SDL
    j'ai installé normalement la SDL-1.2.15 dans le répertoire C:\Program Files (x86)\CodeBlocks. J'ai bien stocké dans mon répertoire source (D:\progC\New) la SDL.dll
    et créer un petit programme en m'inspirant de ceux qui existent sur internet du style
    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
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
     
    void pause();
    int main(int argc, char *argv[])
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
     
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Il y a 1 semaine, cela fonctionnait bien. Depuis, j'ai beau cherché dans tous les sens, rien ne s'affiche. Seul la console m'indiquant le nombre de seconde pour faire tourner le programme. La fonction pause n'a pas l'air de fonctionner.
    La fenêtre noire n'apparait plus.
    J'ai essayé également d'utiliser le debugger mais sans succès non plus. Le pas à pas ne fonctoinne pas. Je n'arrive pas à comprendre ce qui se passe sachant qu'au niveau de la compilation aucune erreur n'est détectée.
    Merci par avance pour votre aide

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Le code semble correct.
    Essayez de faire un "rebuild".
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Bonjour,
    merci pour ta remarque.
    Mais j'ai essayé pluseiurs fois. Aucun affichage d'un écran noir. seule la console avec le temps réalisé pour l'execution

    Est-ce que le SDL est mal installé ?

    On a comme l'impression que l'initialisation vidéo ne se fait plus.

    Merci encore pour vos idées

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Il va falloir complété le code, pour faire de la vérification d'erreur et de l'affichage de l'erreur (SDL_GetError()).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Merci beaucoup.
    Je regarde ce soir et te tiens au courant

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    bonjour,
    j'ai regardé hier soir le sujet en intégrant un test avec la gestion des codes erreurs.
    Aucune erreur est ressortie.
    Tenant compte de la situation, j'ai juste rajouté un printf avec un message quelconque juste avant l'instruction SDL_Init(SDL_INIT_VIDEO); pour voir si ce dernier s'affichait dans la console.
    Il a bien compilé et s'est exécuté comme d'habitude sans afficher le message demandé.

    J'en ai conclu qu'il fallait que je réinstalle codeblock et la SDL.
    Pour l'instant, j'en suis là sauf si vous avez une meilleure idée je suis preneur.
    Merci

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Dernière piste :
    remplacer SDL_HWSURFACE par SDL_SWSURFACE.
    Après, je ne sais pas du tout et je dirai que le mieux, sera de passer à la SDL 2 de toute façon.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Bonsoir,
    je viens de réinstaller codeblocks et réinstaller les fichiers de la SDL 1.2.5 dans le même répertoire sous C:\Program Files (x86)\CodeBlocks\SDL-1.2.15
    J'ai relancé le même programme. Sans succès.

    J'ai recréé un simple programme sans l'appel à la SDL comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
        printf("Hello world!\n");
        return 0;
    }
    Même chose aucun message s'affiche dans la console. Le problème doit être plus général mais je ne vois pas où chercher.
    Quelqu'un aurait une autre idée?

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Pour ce dernier cas, la réponse est dans la FAQ : http://jeux.developpez.com/faq/sdl/?...ALITES_sorties
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Bonsoir
    Merci encore pour ce dernier conseil.
    Je vais étudier le sujet pour m'en sortir., quitte à essayer à installer la SDL2
    Merci

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Bonsoir,
    Après avoir à nouveau désinstaller la SDL et réinstaller uniquement codeblocks, j'ai créé le petit programme simple déjà précisé précédemment, pour faire afficher "Hello world"
    j'ai constaté que le programme une fois exécuté n'affichait toujours pas "hello world" dans la console mais simplement le temps de réalisation.
    En lançant l executable, par contre, dans le repertoire bin créé par codeblocks, là le message Hello world apparaissait dans la console.
    Je ne comprends toujours pas ce qui se passe.

    Je précise que ce phénomène est apparu après quelques essais avec la SDL
    Merci

  12. #12
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Avez-vous lu la FAQ que j'ai montré ?
    De plus, il n'y a pas de changement après réinstallation et c'est normal. Je pense que tout ou presque est correct sur votre machine.

    Utilisez un des templates : http://jeux.developpez.com/telecharg.../709/Templates et vous verrez
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Bonjour LittleWhite

    Merci beaucoup pour tous ces conseils.
    J'ai donc bien essayé la template proposé et effectivement cela marche (en lançant l'exe sous le répertoire bin généré )
    Par contre, j'ai voulu alller plus loin en reprenant mes anciens programmes de création d'un jeu de go et malheureusement le compilateur a bloqué dès l'instruction SDL_HWSURFACE qu'il ne reconnaissait pas.
    Je suis donc revenu en arrière en installant la SDL-1.2.15 dans le répertoire sous C:\Program Files (x86)\CodeBlocks
    J'ai réussi à refaire marcher mon ancien programme.

    Le seul soucis qu'il reste, c'est qu'après avoir compilé, lors de l’exécution, seul apparaît la console avec le temps en minutes de compilation.
    Il faut que j'aille ensuite dans le répertoire C:\langC\testdll\bin\Debug et déposer la SDL.dll + les images.bmp et utiliser le testdll.exe généré pour voir le résultat de mon programme c

    Avant j'arrivais à voir le résultat dans codeblock directement sans effectuer cette manipulation.

    => y a t-il un paramétrage de codeblock qui aurait disparu ?

    Merci de votre aide

  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Pour lancer à travers Code::Blocks, il faut mettre les fichiers .dll et les images, dans le dossier du projet (soit : C:\langC\testdll\)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  15. #15
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    merci. mais c'était déjà le cas mais rine n'y fait
    Voici un ex de résultat de la compilation
    Nom : compliation.JPG
Affichages : 149
Taille : 110,2 Ko

    le répertoire du projet
    Nom : lang C.JPG
Affichages : 114
Taille : 35,4 Ko

    le répertoire bin avec l'executable
    Nom : bin-testdll.JPG
Affichages : 112
Taille : 23,3 Ko

    Merci de votre aide

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Oui, c'est configurable dans la configuration du projet, chemin de lancement/chemin de démarrage. Après, j'ai forte impression que vous ne vérifiez le retour d'aucune fonction de la SDL, ce qui est mauvais.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Bonsoir LittleWhite,

    Merci pour l'excellente remarque sur le test des codes retours des fonctions SDL. En effet, je n'en teste que quelques unes. Il faut que j'aille un peu plus loins sur le sujet.
    Par contre, je ne suis pas sûr de comprendre comment on peut modifier la configuration du projet dans codeblocks ( via les "properties" ?) pour qu'il execute le fichier .exe dans le répertoire bin
    Merci beaucoup pour votre retour

  18. #18
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Cela se trouve dans le menu "Project" -> "Properties" -> onglet "Builds Target" -> ligne "Execution working dir".
    Voilà. Désolé du retard.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. [Requête] Impossible de faire fonctionner !
    Par Nesta92 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/04/2007, 09h38
  2. Réponses: 5
    Dernier message: 05/12/2006, 23h57
  3. impossible de faire fonctionner le gridlayout
    Par oceane751 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/06/2006, 10h42
  4. Réponses: 5
    Dernier message: 22/03/2006, 10h39
  5. impossible de faire fonctionner phppgadmin et pgdmin3
    Par le_ben dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/12/2004, 14h27

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