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 :

(encore un)Problème avec mon simulateur de pluie


Sujet :

SDL

  1. #1
    Membre du Club Avatar de Jordinateur
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 51
    Points
    51
    Par défaut (encore un)Problème avec mon simulateur de pluie
    Bonjours à tous

    Je suis désolé pour ceux qui seraient déjà allés sur mes autres post à propos de mon simulateur de pluie mais j'ai encore un problème...

    En fait tout ce passe bien, mais par exemple quand je veux déplacer la fenêtre ou alors que je clique sur la barre du haut et que j'attend quelque secondes eh bien les gouttes ne sont plus réparties inégalement sur toute la fenêtre mais ont toutes les mêmes coordonnées en x...

    Puisque je suis sur que la moitié d'entre vous n'ont compris moins de la moitié de ce que j'ai expliqué je vous met un lien (Megaupload) vers mon un zip qui contient mon programme, toutes les DLLs nécessaires ainsi que le code source.

    http://www.megaupload.com/?d=CAL4QXJ7

    Merci à tout ceux qui voudront bien essayer de m'aider !

  2. #2
    screetch
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            for (i=0; i<nbr_goutte; i++)
            {
                //Coord_Goutte_Y[i] += fvitesse2;
                Coord_Goutte_Y[i] += (temps_actuel - temps_precedent) * (fvitesse2 / fvitesse1);
                if (Coord_Goutte_Y[i] > hauteur_fenetre)
                {
                    Coord_Goutte_Y[i] = 0;
                    Coord_Goutte_X[i] = nbr_aleatoire(1, 800);
                }
            }
    ici, si tu as un temps d'attente long (exemple : plusieur secondes) alors toute les gouttes auront le temps d'atteindre le bas et tu les remet a 0 en haut si bien qu'elles vont toute durant la meme frame repartir d'en haut et etre parfaitement alignees.

    Pour contrer ce probleme en general on peut mettre un temps max a la frame; si le jeu a une frame trop longue on la ramene a 25ms ou 100ms ou quelque chose du genre, et on fait comme si on avait rien vu. La plupart des jeux font ca car un moteur physique a du mal a savoir ce qui va se passer dans 2 secondes, c'est plus facile sur des petits intervalles de temps.

  3. #3
    Membre du Club Avatar de Jordinateur
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 51
    Points
    51
    Par défaut
    OK je comprend mieux maintenant mais par contre je ne vois pas vraiment comme faire pour y remédier ...Je ne comprend pas trop ce que je dois changer !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 21
    Points
    21
    Par défaut
    Salut,

    tu peut essayer de mettre un timer à la création ou à l'affichage des gouttes.

  5. #5
    Membre du Club Avatar de Jordinateur
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 51
    Points
    51
    Par défaut
    Eu je viens de voir dans la fac quelque chose sur la gestion des timers, si malgré ça, je n'arrive pas a faire ce que je veux, je repost ici !

  6. #6
    screetch
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            for (i=0; i<nbr_goutte; i++)
            {
                //Coord_Goutte_Y[i] += fvitesse2;
                Coord_Goutte_Y[i] += (temps_actuel - temps_precedent) * (fvitesse2 / fvitesse1);
                while (Coord_Goutte_Y[i] > hauteur_fenetre)
                {
                    Coord_Goutte_Y[i] -= hauteur_fenetre;
                    Coord_Goutte_X[i] = nbr_aleatoire(1, 800);
                }
            }
    ce code fait repartir la goutte d'en haut plusieurs fois sans changer sa vitesse, c'est a dire qu'au lieu de la remettre a 0 tu la remontes pour qu'elle reste dans l'ecran.

  7. #7
    Membre du Club Avatar de Jordinateur
    Profil pro
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Points : 51
    Points
    51
    Par défaut
    ce code fait repartir la goutte d'en haut plusieurs fois sans changer sa vitesse, c'est a dire qu'au lieu de la remettre a 0 tu la remontes pour qu'elle reste dans l'ecran.
    D'accord !! Merci beaucoup ! Mon problème est résolu maintenant !

Discussions similaires

  1. encore des problèmes avec mon memory.
    Par rafoim dans le forum Programmation multimédia/Jeux
    Réponses: 0
    Dernier message: 31/12/2013, 11h11
  2. Encore des problèmes avec le BDE
    Par Flint dans le forum C++Builder
    Réponses: 19
    Dernier message: 31/12/2007, 23h26
  3. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  4. problème avec mon lecteur CD
    Par leo13 dans le forum Périphériques
    Réponses: 3
    Dernier message: 16/08/2005, 11h21
  5. Problème avec mon firewall ...
    Par Wis dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 06/04/2004, 08h46

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