Probleme de boucle et de thread

Fermé
Kfkfkf - Modifié le 13 juil. 2019 à 15:59
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 13 juil. 2019 à 15:58
Bonjour,
Mon code:
If(input.GetKeyDown("up")) {
Int i = 0;
While (i < 10){
System.Threading.Thread.Sleep(100) ;
Transfrom.Translate( 0, 0.1f, 0) ;
I++;
}
}

Et mon but est de faire un "saut fluide" Avec un cube
Mais se qui se passe en appuyant sur la touche up c que il y a une attente du temps de System. Threading etc... Puis le cube ce tp direct en haut. Alors que j'aimerais qu'il monte fluidement, quesqu'y ne va pas?
**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE


Configuration: Android / Chrome 69.0.3497.128

2 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
13 juil. 2019 à 15:46
Bonjour

c'est de l'Unity?
1
Oui, c'est ça
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
13 juil. 2019 à 15:58
Alors je ne connais pas Unity, et donc je ne sais pas comment fonctionne la méthode Translate de l'objet Transforme.

Cependant un Thread.Sleep bloque entièrement le Thread en cours. Donc s'il s'agit de ton Thread principal c'est probablement normal que tu sois figé.

Je te conseille d'utiliser un Timer, c'est un objet qui va compter un intervalle dans son coin (un thread à lui) et quand cet intervalle est atteint déclenche un évènement Thread Safe (sans danger de "casser" une donnée entre 2 Threads) auquel tu t'abonnes. Dans la méthode abonnée, tu mets ton code de déplacement

J'ai trouvé un exemple ici https://forum.unity.com/threads/c-timer-event.127920/
Ton code de déplacement est à mettre où il est écrit
//do things


PS à l'avenir pour poster un code, merci d'utiliser les balises de codes, en suivant ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0