CREER DEUX TIMER ????

Résolu
cs_Batman60 Messages postés 71 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 21 octobre 2007 - 12 mars 2006 à 13:46
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 12 mars 2006 à 19:49
Salut
est-ce possible de créer deux timers pour une fenêtre windows
le problème est que mon deuxième timer ne fonctionne pas (Photos).
voici une partie de mon code: projet de nurbs avec ondulation et application de plusieurs textures cadencées par un timer

UINT Ondule;//id timer ondulation
UINT Photos;//id timer photos

switch (uMsg)
{
case WM_CREATE:
SetTimer(hwnd,Ondule,10,NULL);
SetTimer(hwnd,Photos,1000,NULL);
break;

case WM_TIMER:
RePaint ();
Ondulation();
if(Photos)
{
glBindTexture(GL_TEXTURE_2D,texture++);
}
break;

7 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 mars 2006 à 18:43
Je doit avouer que je trouve ça très étrange. Mais Ondule et Photos valent t-il quelque chose? Car je vois
UINT Ondule;//id timer ondulation
UINT Photos;//id timer photos
mais pas de = nulle part. N'oublie pas que ceci doit être les ID de tes timer et il doivent avoir une valeur. Par exemple

UINT Ondule = 1;//id timer ondulation
UINT Photos = 2;//id timer photos

Si c'est ça le problème alors la ça devrais fonctionner.

___________________________________________
Les plus grands esprits trouvent toujours une solution
3
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 mars 2006 à 14:01
if(wParam == Photos) dans WM_TIMER.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_Batman60 Messages postés 71 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 21 octobre 2007
12 mars 2006 à 14:54
merci pour la réponse, mais mon premier timer(Ondule) ne fonctionne plus et le deuxième fonctionne (Photos)

le code:

case WM_CREATE:
SetTimer(hwnd,Ondule,10,NULL);
SetTimer(hwnd,Photos,1000,NULL);
break;

case WM_TIMER:
RePaint ();
Ondulation();

if(wParam = = Photos)
{
glBindTexture(GL_TEXTURE_2D,texture++);
}
break;


ps:j'ai essayé aussi en ajoutant:
if(wParam= = Ondule)
{
RePaint ();
Ondulation();
}


merci d'avance
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 mars 2006 à 16:20
Je ne sais pas si ça va arranger quelque chose mais tu pourrais toujours essailler avec switch

switch(wParam)
{
case Ondule:
...
break;

case Photos:
...
break;
}

___________________________________________
Les plus grands esprits trouvent toujours une solution
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Batman60 Messages postés 71 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 21 octobre 2007
12 mars 2006 à 16:55
merci 617077 SAKingdom
j'ai essayé ca marche pas
ta pas une idée pour ralentir l'icrémentation de:
glBindTexture(GL_TEXTURE_2D,texture++);
comme ca je laisse qu'1 timer
un bout de mon code:
de cette façon l'ondulation est impeccable mais le défilement des textures va trop vite

SetTimer(hwnd,Ondule,10,NULL);

case WM_TIMER:
RePaint();
Ondulation();

if(texture<4)
{
glBindTexture(GL_TEXTURE_2D,texture++);
}
else texture =0;

break;
Batmerci d'avance
0
cs_Batman60 Messages postés 71 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 21 octobre 2007
12 mars 2006 à 19:36
un trés grand Batmerci 617077 SAKingdom
ca marche de cette façon :

UINT Ondule =1;//id timer ondulation
UINT Photos=2;//id timer photos

SetTimer(hwnd,Ondule,10,NULL);
SetTimer(hwnd,Photos,10000,NULL);

case WM_TIMER:
switch(wParam)
{
case 1:
RePaint();
Ondulation();
break;

case 2:
if(texture<4)
{
glBindTexture(GL_TEXTURE_2D,texture++);
}
else texture=0;
break;
}

break;

case WM_DESTROY:
KillTimer(hwnd,Ondule);
KillTimer(hwnd,Photos);
break;
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 mars 2006 à 19:49
ah ils n'avaient pas de valeur attribuée, ben on aurait pu chercher longtemps.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Rejoignez-nous