screensaver : lancer 2 actions en même temps et attendre

Le
maxime.saad
Bonjour,

J'ai un soucis au niveau de la cration d'un projet. Je souhaite faire
un fond d'cran, et j'utilise donc codeblocks, avec allegro.
Mon problme se situe dans le fait que je souhaiterais lancer
plusieurs oprations en meme temps, si c'est possible. Je m'explique :

Je souhaites reproduire un cran comme "matrix", avec des sries de
lettres qui s'affichent au fur et mesure. Ex :

l l l l l l
i i i i i i
g g g g g g
n n n n n n
e e e e e e
1 2 3 4 5 6



Cependant, je souhaiterais qu'il y a du temps entre chaque ligne,
mais aussi entre chaque lettre, qui s'affiche.

Ce que j'ai deja fait, c'est un timer, qui toute les secondes, lance
l'criture d'une nouvelle ligne. Pas de soucis de ce cot la, mais la
ligne s'crit d'un coup et d'un seul.
Mon soucis est donc que je ne sais pas comment faire pour que les
lettres s'affichent une une.

J'ai essay en mettant un nouveau timer dans le 1er, mais ca ne marche
pas. J'ai aussi essay de faire une boucle simple, mais qui se ralise
1000000 de fois pour laisser passer du temps, mais ca ne marche pas
non plus. Et j'ai aussi essay la fonction rest(), mais le problme
c'est que cette fonction bloque tout le programme, et comme c'est un
screensaver, je n'ai plus d'interruption par la souris.

Le soucis vient surtout de la en fait, pouvoir faire attendre des
venements, les lancer en tache de fond, en ayant toujours
l'interruption par la souris. Dans tout ce que j'ai essay, ce n'tait
pas le cas.

On m'a dit que ca pouvait ventuellement se faire avec les apis win32,
mais je ne sais pas comment ca marche.

Si quelqu'un connait une solution pas trop compliqu, merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
nico
Le #19254931
wrote:

Le soucis vient surtout de la en fait, pouvoir faire attendre des
évenements, les lancer en tache de fond, en ayant toujours
l'interruption par la souris. Dans tout ce que j'ai essayé, ce n'était
pas le cas.




Tu peux mettre les traitements dans des threads ( CreateThread() )
et Sleep() à l'intérieur pour les attentes
Publicité
Poster une réponse
Anonyme