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

Windows Discussion :

ralentir l'exécution


Sujet :

Windows

  1. #1
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut ralentir l'exécution
    Bonsoir à tous ,
    je déplace un petit bitmap sur mon écran à l'aide des touches fléchées du clavier ; le bitmap se déplace à toute vitesse et je souhaiterais ralentir son déplacement .
    Quelles sont les diverses possibilitées de faire ?

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    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 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Utiliser Sleep et aussi une fonction pour récupérer le temps actuel afin de faire une synchronisation sur 60 images par secondes, par exemple.
    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
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    Merci ça va le faire !

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 352
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 352
    Points : 20 359
    Points
    20 359
    Par défaut
    Salut il faut absolument éviter Sleep si tu veux déplacer une image
    Il faut :
    1 obtenir un premier temps/deuxième temps en ms avec timeGetTime() ( ou QueryPerformanceCounter)
    2 obtenir le deuxième temps et le soustraire au premier
    Si la différence est supérieure à un seuil alors tu affiches la bitmap
    Puis il faut recapter la deuxième tempo
    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
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
    	HWND		hWnd;
    	MSG			msg;
    	WNDCLASSEX	wndclass;
    	static DWORD dwStart,dwNext,dwDelta2;
    	static DWORD dwPlayer,dwStart3;
    	static DWORD dwStart2;
    	static int X,Y;
    	static RECT rect;
    	static POINT pt;
    	dwStart3=dwPlayer=dwStart2=dwDelta2=dwNext=dwStart=timeGetTime(); 
    //.......création de la fenêtre avec createwindow
    // et apres GetMessage
    
    dwNext=timeGetTime();
    if((dwNext-dwStart)>75)  //75 c'est la tempo en ms
    {
    				
    ::GetCursorPos(&pt);
    BaseJeu->ScrutePositionSouris(pt.x ,pt.y ); 
    dwStart=timeGetTime();
    }
    tu peux utiliser un Timer avec SetTimer mais c'est moins précis

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

Discussions similaires

  1. ralentir une exécution
    Par kyuubii_74 dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 23/12/2010, 17h43
  2. ralentir l'exécution d'une boucle
    Par al9000 dans le forum Débuter
    Réponses: 9
    Dernier message: 08/03/2010, 13h21
  3. [JAVA]Ralentir l'exécution d'une méthode
    Par michaeljeru dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 07/03/2007, 11h48
  4. [ArchiveBuilder][JavaMail] exécution impossible...
    Par Gorthal dans le forum JBuilder
    Réponses: 7
    Dernier message: 10/01/2003, 10h12
  5. Réponses: 2
    Dernier message: 06/07/2002, 13h36

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