Bonjour, bonsoir à tous, à toutes !
Voila, je suis actuellement en train de développer un petit RPG qui initialement était en console, mais qui vient d'être changé en application WPF. L'ensemble des fonctions, déplacement sur une map, combat, inventaire, etc, marchent comme il faut. Cependant, pour le déplacement sur la carte, il me faut ajouter un temps de chargement fictif (le déplacement d'une cellule de la map à une autre étant instantané). Passer l'ensemble des éléments WPF en visibility hidden et afficher un textblock contenant un conseil choisi au hasard parmi plusieurs, et après un temps donné, on cache ce bloc et on repasse les autres éléments en visible. Jusque la, ça marche comme il faut. Mais je voudrais rendre la chose plus jolie, avec une animation de texte.
Je voudrais avoir un texte comme celui ci : "O o o o o", et tout les x millisecondes écoulées, le O change de position, pour donner "o O o o o", et ceci en boucle jusqu'à une valeur de temps donnée, ou le chargement se termine. Mes calculs se construisent comme suit :
conseil étant une string remplie aléatoirement par un random, ceci fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (mapChrono.ElapsedMilliseconds > 100 && mapChrono.ElapsedMilliseconds <= 200) { mapLoad.Text = conseil + "o O o o o"; }
J'ai tenté de placer cette partie du code dans un do while, ou même de placer l'exécution de la fonction toute entière dans un do while, mais j'ai toujours le même résultat : l'application freeze pendant le temps donné du chargement, et reprend une fois ce délai écoulé.
Je sais pas trop comment je pourrais faire ça sans do while, et je ne sais pas pourquoi cette boucle freeze l'application..
Si quelqu'un savait éclairer ma lanterne, je lui en serait vraiment reconnaissant !
Merci d'avance !
Partager