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 ?
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 ?
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.
Merci ça va le faire !
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
tu peux utiliser un Timer avec SetTimer mais c'est moins précis
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(); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager