Probleme de boucle et de thread

-
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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
13817
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2019
400
1
Merci
Bonjour

c'est de l'Unity?

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 62631 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Whismeril
Messages postés
13817
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2019
400
0
Merci
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
Commenter la réponse de Whismeril