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

Contribuez Discussion :

[FAQ] [Source] [SDL] Nombre de fps


Sujet :

Contribuez

  1. #1
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut [FAQ] [Source] [SDL] Nombre de fps
    Bon je sais que la question de mettre un frame par seconde existe dans la FAQ bien que je n'arrive pas à le trouver maintenant...

    En cherchant une information sur une fonction SDL, je suis tomber là-dessus et je me suis dit que cela avait le mérite d'exister...


    Comment mettre un nombre d'affichage par seconde avec SDL ?


    En utilisant la bibliothèque annexe SDL_gfx, on peut utiliser les fonctions suivantes. A noter que chaque fonction prend un paramètre de type FPSmanager*. C'est bien sûr à votre charge de gérer l'allocation de cette structure (statique ou dynamique) et d'y passer l'adresse.

    Pour initialiser la structure générale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void SDL_initFramerate(FPSmanager * manager);
    Par défaut le nombre d'images par seconde sera égal à 30.

    Pour choisir un autre nombre taux de rafraichissement, on utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int SDL_setFramerate(FPSmanager * manager, int rate);
    Et pour récupérer le taux actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int SDL_getFramerate(FPSmanager * manager);
    A chaque tour de boucle avant (ou après) le code qui gére l'affichage, on appelle simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void SDL_framerateDelay(FPSmanager * manager);
    Quelques précisions :

    - Si le code de dessin est trop long alors l'attente deviendra nulle...
    - Il faudra installer la bibliothèque SDL_gfx
    - N'oubliez pas de lier la bibliothèque SDL_gfx pour utiliser ces fonctions
    - Vous pouvez utiliser les constantes FPS_UPPER_LIMIT, FPS_LOWER_LIMIT, FPS_DEFAULT pour avoir les valeurs maximales, minimales et par défaut du gestionnaire de taux de rafraîchissement.



    Voici un code qui permet de montrer l'utilité de ces fonctions (les appels se font tous dans le fichier Main.cpp)...

    Si tu veux Laurent, je peux faire un code qui fait juste rebondir un objet sur la fenêtre mais je ne savais si tu voudrais inclure le code dans la question ou non, donc pour le moment je laisse comme cela...

    De l'autre côté, le code (avec un seul objet) peut être une contribution pour la page source, à toi de voir...

    Jc
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je pense qu'on peut ajouter ces fonctions à la question qui existe déjà :
    http://jeux.developpez.com/faq/sdl/?...esse_affichage

    Et ajouter ton code aux pages sources serait pas mal, oui

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Laurent Gomila
    Je pense qu'on peut ajouter ces fonctions à la question qui existe déjà :
    http://jeux.developpez.com/faq/sdl/?...esse_affichage
    C'est exactement cette question que je cherchais

    Et ajouter ton code aux pages sources serait pas mal, oui
    Tu veux une version avec une seule balle ou cette version qui gère les collisions entre les balles, en rajoute, etc...

    Jc

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Non, je pense qu'il vaut mieux concentrer le code source sur une fonctionnalité précise et ne pas trop s'éparpiller

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Laurent Gomila
    Non, je pense qu'il vaut mieux concentrer le code source sur une fonctionnalité précise et ne pas trop s'éparpiller
    Ok je vais faire une version bien simple ce soir,
    Jc

    [EDIT]
    Voici une version bien simple qui le met en place
    [/EDIT]
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par fearyourself
    Ok je vais faire une version bien simple ce soir,
    Jc

    [EDIT]
    Voici une version bien simple qui le met en place
    [/EDIT]
    Si Loka veut bien refaire un petit projet Code::blocks (ou quelqu'un d'autres), on aura ce deuxième source prêt,
    Jc

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    oki je fais ça, j'ai aussi 1 code source sur l'affichage du frame rate sans SDL_gfx si vous voulez (je le reservais pour mon prochain tuto sur ce sujet ^^).

    peut être penser à mettre le lien vers SDL_gfx :
    http://www.ferzkopp.net/Software/SDL_gfx-2.0/

    edit :
    Bon il manque un fichier pour les versions windows qu'il faut generer avec VC ou un utilitaire equivalent que je ne possede pas ("You can use the command line 'LIB.EXE' tool to generate VC6 compatible .LIB files for linking purposes.").
    Sans le .lib, pas possible de linker lSDL_gfx...

    desolé sois on me file le .lib sois il faudra que tu te trouves quelqu'un d'autre pour celui-ci (moi je vote pour le .lib, comme ça je pourrais utiliser SDL_gfx sous code::blocks )

    edit 2 : il me manque aussi le .dll

  8. #8
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    oki je fais ça
    beaucoup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j'ai aussi 1 code source sur l'affichage du frame rate sans SDL_gfx si vous voulez
    Je pense que cela peut toujours servir... C'est dans la FAQ mais en source, c'est toujours utile (pour ceux qui n'ont pas SDL ou SDL_gfx...)

    Jc

  9. #9
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    voici le miens en format Code::Blocks

  10. #10
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par loka
    oki je fais ça, j'ai aussi 1 code source sur l'affichage du frame rate sans SDL_gfx si vous voulez (je le reservais pour mon prochain tuto sur ce sujet ^^).

    peut être penser à mettre le lien vers SDL_gfx :
    http://www.ferzkopp.net/Software/SDL_gfx-2.0/

    edit :
    Bon il manque un fichier pour les versions windows qu'il faut generer avec VC ou un utilitaire equivalent que je ne possede pas ("You can use the command line 'LIB.EXE' tool to generate VC6 compatible .LIB files for linking purposes.").
    Sans le .lib, pas possible de linker lSDL_gfx...

    desolé sois on me file le .lib sois il faudra que tu te trouves quelqu'un d'autre pour celui-ci (moi je vote pour le .lib, comme ça je pourrais utiliser SDL_gfx sous code::blocks )

    edit 2 : il me manque aussi le .dll

    Personnellement, avec le devpak SDL_gfx, je n'ai pas eu de problème pour compiler le programme à part pour les includes parce que CodeBlocks ne les mettait pas au bon endroit...

    J'ai donc rajouter le fichier pour codeblocks dans cette version. Du coup, il faudra que la personne ait le devpak SDL_gfx mais je l'ai mis en remarque au début du code...

    Jc
    Fichiers attachés Fichiers attachés

  11. #11
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Je vais chercher le Devpack alors...

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

Discussions similaires

  1. [SDL][FAQ/Source] Comment savoir si le programme est actif ?
    Par fearyourself dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/07/2007, 10h34
  2. [FAQ][SOURCE][SDL] Souris sous SDL
    Par fearyourself dans le forum Contribuez
    Réponses: 2
    Dernier message: 01/08/2006, 20h08
  3. Connnaitre le nombre de FPS en SDL
    Par insomniak dans le forum SDL
    Réponses: 2
    Dernier message: 04/11/2005, 17h52

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