Bonjour,

Je suis en train de réaliser un petit jeu en 2d en utilisant la librari slicket j'aimerais afficher du texte provenant d'un fichier texte dans une boite de dialogue !
J'aimerais que ce texte soit afficher caractère par caractère avec un caractère afficher toute les 200 ms.

Voici mon code actuel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
         * Fonction afficherDialogue: permet d'afficher le dialogue
         * @return void
         * @throws InterruptedException 
         */
	public void afficherDialogue() throws InterruptedException
	{
		this.backgroundDialogue.draw(207, 158);
 
		// On lit le fichier texte
 
		String fileName;
		FileReader file = null;
		String s = "";
		int i;
 
		fileName = "dial"+this.idTxtEnCours+".txt";
 
		try
		{
			file = new FileReader(fileName);
		} catch(FileNotFoundException e){
			e.printStackTrace();
		}
 
 
		try
		{
		    i = file.read();
 
		    while(i!=-1)
		    {
		    	    // On récupère le caractère
			    s += (char)i;
			    // On le dessine
			    this.font.drawString(this.posXToDraw, this.posYToDraw, s);
 
			    // Si la prochaine position en X sort de la boite de dialogue...
			    if((this.posXToDraw + 20) > 206) {
			    	// ...On réinitialise la position en X
			    	this.posXToDraw = 168;
			    	// ...On incrémente la position en Y (on fait "un retour a la ligne")
			    	this.posYToDraw += 20;
			    } else {
			    	// on incrémente la position en X du prochain caractère
			    	this.posXToDraw +=20;
			    }
 
			    // On réinitialise la chaîne de caractère
			    s="";
 
			    // On lit le prochain caractère
			    i = file.read();
 
			    // On fait une pause de 200 ms
			    Thread.sleep(200);
		    }
		} catch (IOException E){
			E.printStackTrace();
		}
	}
La variable "font" est de type SpriteSheetFont (classe de Slick : SpriteSheetFont)

Le problème est que ça ne marche pas, les caractères ne sont pas affichés toutes les 200 ms et pas au bonne position. de plus la première ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
this.backgroundDialogue.draw(207, 158)
n'est pas afficher tout de suite alors qu'elle le devrait !

Une idée ou une autre méthode??

merci !