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 :

Jeu SDL figé lorsqu'il passe en arriere plan


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut Jeu SDL figé lorsqu'il passe en arriere plan
    Bonjour ,

    j'ai un jeu codé en C avec SDL et je souhaiterai que lorsque mon programme passe en arrière plan il continue de s'executer.

    Exemple : j'ouvre mon jeu, tout est parfait, et un fenetre passe en 1er plan par dessus le jeu, la musique continue mais les personnages sont figés.Et lorsque je reviens sur le jeu, les persos continuent de bouger à partir de là où ils étaient restés figés !

    C'est le même probleme si je déplace la fenetre de mon jeu avec la souris.

    Merci pour l'aide

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 155
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Ce problème est assez classique. C'est à cause du système de fenêtrage, qui ne réaffiche plus la fenêtre qui est derrière une autre ).
    Pour éviter tout problème avec ça, si je me rappelle bien, on doit intégrer un temps virtuel.

    Par exemple, en ce moment, votre programme utilise le temps de la machine ( temps passé dans le programme ). À la place d'utiliser ce temps, il faudra utiliser donc un temps virtuel, qui sera incrémenté selon le temps réel. Ainsi, lorsque le système de fenêtrage ne daigne plus s'occuper de notre fenêtre, le temps virtuel s'arrêtera, donc, l'animation, sera là ou on veut.

    ( Comme j'ai un doute par rapport à votre question, le principe inverse marche )
    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 averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut
    merci pour votre réponse !
    Alors pour préciser : actuellement le programme se fige en arriere plan, il utilise donc le temps passé dans la machine si j'ai bien compris , et moi je souhaiterai qu'il continue de se dérouler normalement qu'il soit en 1er ou arriere plan.

    Dans mon programme j'utilise en effet SDL_getTicks() .
    Et donc pour utiliser le temps virtuel il faudrait simplement que je créé une variable mais comment la faire incrémenter proportionnellement au temps ?

    Par exemple quand je vais faire le temps++ je veux que ca correspondent à un écart de 50 ms et non à 1 tour de boucle ( car le tour de boucle peut s'effectuer plus vite ou moins vite )

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Citation Envoyé par kanak09 Voir le message
    un fenetre passe en 1er plan par dessus le jeu, la musique continue mais les personnages sont figés.Et lorsque je reviens sur le jeu, les persos continuent de bouger à partir de là où ils étaient restés figés !
    La première idée qui me vient est que tes évènements joystick, clavier, souris etc... ne vont plus vers ton application mais vers celle qui est au premier plan.

    A+

    Pfeuh

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut
    d'accord merci , et donc que changer dans mon code pour résoudre le probleme ?

  6. #6
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Je ne vois pas quoi changer dans ton code, car le comportement décrit me semble tout à fait normal

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Par défaut
    oui mais cela voudrait donc dire qu'il n'est pas possible de permettre au programme de continuer à s'executer alors qu'il est en arriere plan ?

Discussions similaires

  1. fenêtre de description lorsqu'on passe sur un bouton
    Par Olivié dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 18/11/2008, 21h13
  2. Jouer un son lorsque je passe la souris sur un JButton
    Par haksasse dans le forum Composants
    Réponses: 2
    Dernier message: 19/05/2008, 06h41
  3. [JEU SDL] Mini carte
    Par Invité4 dans le forum SDL
    Réponses: 8
    Dernier message: 23/04/2008, 00h52
  4. [DEBUTANT] Suite du jeu [SDL/C]
    Par gaby_1 dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 20/03/2007, 12h47
  5. Jeu SDL utilisant Winsock2, problème réseau
    Par TONIAPEL dans le forum C
    Réponses: 2
    Dernier message: 22/08/2006, 21h15

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