procédure en continu mais garder la main

  • Initiateur de la discussion Initiateur de la discussion smotty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

smotty

XLDnaute Occasionnel
Bonjour le forum,


Je travaille sur un jeu style "snake". Le serpent se déplace bien et grandit comme il faut, je le dirige avec les flèches de direction.

Mon proplème est que je dois garder la touche de direction appuyée pour qu'il se déplace.

j'utilise "application.onkey" pour diriger le serpent.

J'aimerais qu'il avance tout seul et l'appui sur la touche serve juste à influer sur la direction.

Peut-on exécuter une procédure en continu tout en gardant l'application active, c.a.d en pouvant continuer à appuyer sur les touches?

(j'ai essayé des modules de classe avec boucle ou application.ontime mais pas réussi)

ci-joint le fichier

Merci d'avance pour votre aide

smotty
 

Pièces jointes

Re : procédure en continu mais garder la main

Re-bonjour

j'ai essayé doevents, c'est très prometteur. Le seul souci "application.onkey" ne fonctionne pas. En gros, j'ai à nouveau accès à la souris, je peux cliquer sur un bouton stop par exemple tout ça pendant la boucle.
Mais il ne détecte pas "application.onkey".

quelqu'un aurait-il une idée, peut-être une API qui détecte les touches?

Merci d'avance et grand merci à Pierrot93 pour m'avoir mis sur cette voie.
 
Re : procédure en continu mais garder la main

Voici la solution: l'API GetAsyncKeyState

Code:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

l'association "doevents" et "Application.onkey" fonctionnent mais pas pour détecter les flèches (en tout cas je n'ai pas réussi)

ça aidera peut-être certains...

A+

smotty
 
Re : procédure en continu mais garder la main

Bonjour smotty,
je te joint ce fichier que je viens de faire avec un timer ou tu peux régler la vitesse.
J'ai simplifié l'exemple du fichier Chonomètre de Frédéric Sigonneau sur Excelabo.
Je ne me suis pas occuppé des directions (je vais simplement en bas)le reste est à faire.
J'avais toujours pensé faire un snake sur Excel, je l'ai fait en VB5 avec différents niveaux
et aussi un tétris.
je serais intéressé de voir ton résultat final.
Attention avec ce timer les bugs font planter excel et faut attendre la récupération.
Bruno
 

Pièces jointes

Re : procédure en continu mais garder la main

Bonjour Bruno,

ça me paraît tout à fait intéressant. Je vais étudier ça sérieusement.

Concernant le résultat actuel, ça fonctionne, j'ai bien un serpent qui avant en continu et qui prend les directions que je souhaite.

J'ai juste un réglage de fluidité à effectuer et je vais certainement simplifier mon code. Ton fichier tombe pile poile comme il faut.

Je posterai le fichier avec plaisir dès qu'il sera terminé (du moins concernant le snake de base).

J'ai en idée de faire apparaître des lettres dans le désordre qu'il faudra avaler dans le bon ordre pour former des mots.

Suite au prochain épisode

Merci beaucoup pour ton aide

smotty
 
Re : procédure en continu mais garder la main

Super génial!!!!

Merci beaucoup, SetTimer est exactement ce qu'il faut.

De plus je peux utiliser Application.onkey (plus facile) pour diriger le serpent.

ça résoud le problème de fluidité que j'avais.

Dès que c'est terminé je poste le fichier

A+

smotty
 
Re : procédure en continu mais garder la main

Voici ou j'en étais.
Maintenant j'ai plus de temps je te laisse le fichier pouir qlq idées
Ps j'a mis les 2 boutons la propriété TakefocusOnclick =false sinon cela marchait peu.
Le réglage de vitesse se fait à 2 endroits ....TimerOn 50 ou 100 ou 1 et aussi en Chrono
If k>4 ............en timeron .100 est 1 seconde et pour k..... 4 = 4/10ème
Bonne réussite
Bruno
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour