Frage : Java-Klienten-applet - Anstrich

O.K. also ich lassen meinen Bediener an, bis ich sage, dass er in diesem topic.

What das Problem indirekt ist? Uns einen Spieler sagen lassen, den A anmeldet und nimmt den Klinge… dann Spieler B anmeldet, Bediener des Th e sendet was, für die Einzelteile zu zeichnen. So, was geschieht, ist JEDES EINZELTEIL ist abgehobener Betrag auf dem Brett für eine AUFGETEILTE SEKUNDE, dann, welches die Klinge weggenommen.

I wünschen diese aufgeteilte Sekunde gegangen und wenn das drawSword… dann falsch ist, NICHT AN ALLEN zu zeichnen…,

That ist Funktion diese am eigentlichen Ende von tileGen in der GamePanel Kategorie:
1:
2:
3:
 wenn (drawFlail == zutreffendes && currentMap == 1) g.drawImage (Waffe [1], 32 * 4, 32 * 4, dieses);
				  wenn (drawBattleaxe == zutreffendes && currentMap == 1) g.drawImage (Waffe [0], 32 * 3, 32 * 2, dieses);
                  wenn (drawSword == zutreffendes && currentMap == 1) g.drawImage (Waffe [2], 32 * 13, 32 * 7, dieses); 


It ist innerhalb des allgemeinen leeren paintComponent (Methode der Grafiken g). Ich wunderte, wenn ich das paintComponent tun könnte, BEVOR der Durchlauf () so. gebildet. aber andererseits dachte ich. paintComponent gezeichnet zuerst, bevor Durchlauf () dann der Bediener dem Klienten erklärt, welche Einzelteile gezeichnet werden sollten. so weiß ich nicht, was zu do.

Connect zum Spiel: http://mystikrpg.com/new/p lay.php
Please nehmen keine Einzelteile zu diesem Fragenzweck. Einfach beobachten. Mein Buchstabe ist auf dem sitzenden Leerlauf des unteren Rechtes… Ich nehme die Klinge, also beachten Sie, dass es grelles, bevor es… verschwindet,

thanks.

Here mein Durchlauf () method
1 ist:
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:
6:
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:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
 Öffentlichkeitslücke laufen () {

            Einfaßung s = Null;

            Versuch {



                 Schnurwirt = „69.133.110.152“;
                 s = neue Einfaßung (Wirt, Integer.valueOf (getParameter („Hafen“)));



                  in = neues BufferedReader (neues InputStreamReader (s.getInputStream ()));

                  OS = neues PrintStream (s.getOutputStream ());
                  System.out.println („\ n ********, das an“ + Wirt + „auf Hafen“ + getParameter („Hafen, anschließt“));

                  playerLogin ();


                  int buf = -1;
                  Schnur responseLine;

                  // rawr
                  während ((responseLine = in.readLine ()) ! = Null) {
                        isResp = ausrichten en;

                        chatOne = ausrichten en;

                         neu streichen ();
                        // c.append („\ nxxx \ n“);
                        // System.out.println („responseLine (|): “ + responseLine);

                        Schnur str = responseLine;

                        Schnurbegrenzer = „\ \|“;

                        [] Temp = str.split (Begrenzer) aufreihen;

                        // c.append („\ noutput: “ + str);

                        // pid
                        Spielerspieler = players.get (Temp [0]);
System.out.println („drawFlail: “ + drawFlail + „ | drawSword: “ + drawSword + „ | drawBattleaxe: “ + drawBattleaxe);
wenn (drawFlail || drawSword || drawBattleaxe) {
 wenn („Aufnahme“ .equalsIgnoreCase (Temp [4]))
{
	//c.append („\ n " +temp [0] + „|“ + Temp [1] + „|“ + Temp [2] + „|“ + Temp [3] + „|“ + Temp [4]);
	//int changeX = Integer.parseInt (Temp [1]);
	//int changeY = Integer.parseInt (Temp [2]);
	//board [changeY] [changeX] = 4;

	wenn („drawFlail“ .equals (Temp [2])) drawFlail = falsch;
	wenn („drawBattleaxe“ .equals (Temp [2])) drawBattleaxe = falsch;
    wenn („drawSword“ .equals (Temp [2])) drawSword = falsch;

	int theItem = Integer.parseInt (Temp [1]);
	pickedUp (theItem, Temp [0]);
	wenn („ja“ .equalsIgnoreCase (Temp [3])) {
		c.append („\ n " + Temp [0] +“ aufhoben „+ getItem (theItem) [0] +“ .") ");
	}
	System.out.println („~~~~~~~~~~~~~~~~~~~ \ nITEM ENTFERNT“ + Temp [2] + „\ n~~~~~~~~~~~~~~~~~~~~~~");
	System.out.println („drawFlail -“ + drawFlail + „ | drawSword -“ + drawSword + „ | drawBattleaxe -“ + drawBattleaxe);

}
}
                        wenn („Schwätzchen“ .equalsIgnoreCase (Temp [4])) {
							wenn (Temp [2] .indexOf („verlassen“), > -1) {
								c.append („\ n " +temp [0] +“ geloggt out.");
							  		      players.remove (Temp [0]);


							} sonst {
								Schnur theirMap = Integer.toString (currentMap);
                              wenn (theirMap.equals (Temp [1])) {
                              c.append („\ n“ + Temp [0] +“: „+ Temp [2]);
						  } sonst, wenn (Temp [0] .equals (me.getUsername ())){
							   c.append („\ n“ + Temp [0] +“: „+ Temp [2]);
						  }

                              System.out.println („CurrentMap: “ + currentMap + „ | temp1“ + Temp [1]);
						  }
                              c.setCaretPosition (c.getDocument () .getLength ());
                              //c.append („\ n Spieler =“ + player.getUsername () + „ | ich. “ + me.getUsername ());

                              // sendMsg (Temp [0], Temp [2], me.getUsername ());


							 wenn (Temp [2] .indexOf („/kick“) > -1) {
								 Schnur [] whoKick = str.split („");
								 Schnur [] getreten = whoKick [1] .split („\ \|");
								 players.remove (getreten [0]);
								 c.append („\ n " +kicked [0] +“ getreten worden durch „+ Temp [0]);
								 c.setCaretPosition (c.getDocument () .getLength ());

							 }

							int realx = 0;
							für (Spieler playert: players.values ()) realx++;
usersOn.setText („Spieler online: “ + realx);


                        }
wenn (isInteger (Temp [2]) == zutreffend) {
                        wenn (Spieler == Null) {


                              Spieler = neuer Spieler ();
                              player.setUsername (Temp [0]);
                              player.setX (Integer.parseInt (Temp [1]));
                              player.setY (Integer.parseInt (Temp [2]));
                              player.setCommand (Temp [4]);
                              player.setPlayerImage (ImageIO.read (getClass () .getResource (
                                          „me.gif“)));
                              player.setMap (1);
                              players.put (Temp [0], Spieler);

                              int wirklich = 0;
							  für (Spieler playert: players.values ()) really++;
usersOn.setText („Spieler online: “ + wirklich);

                        }
                        wenn („Bewegung“ .equalsIgnoreCase (Temp [4])) {
                              // c.append („\ n " +temp [2] +“ und Temp 4: „+ Temp [4]);
                              player.setX (Integer.parseInt (Temp [1]));
                              player.setY (Integer.parseInt (Temp [2]));
                              player.setMap (Integer.parseInt (Temp [3]));
                        }
                        System.out.println („Temperatur 4“ + Temp [4]);
                        player.setCommand (Temp [4]);
                        player.setUsername (Temp [0]);
                        System.out.println („X einstellte te: “ + player.getX () + „ | Y einstellte te: “
                                    + player.getY () + „ | CurrMap einstellte te: “ + player.getMap ()
                                    + „ | Username einstellte te: “ + player.getUsername ()
                                    + „ | Befehl einstellte te: “ + Temp [4]);

                        neu streichen ();
					}

                  }
                  neu streichen ();

            } Fang (Ausnahme rwe) {
                  // System.exit (0);
                  System.out.println („Bediener ging unten -- Mist! ");
                  c.append („\ nServer zusammenstießen tießen! ");
                  rwe.printStackTrace ();
            } schließlich {
                  Versuch {
                        s.close ();
                  } Fang (IOException ere) {
                        ere.printStackTrace ();
                  }
            }

            c.setCaretPosition (c.getDocument () .getLength ());

			Zählimpuls = 0;
			für (Spielerspieler: players.values ()) {
				System.out.println (player.getUsername () + „ist noch an. neuer Zählimpuls: “ + Zählimpuls);
			count++;
			}

			usersOn.setText („Spieler online: “ + Zählimpuls);
      }


and hier ist das GamePanel, das es…
1 zeichnet:
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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
class GamePanel verlängert JPanel {

            Öffentlichkeit leeres paintComponent (Grafiken g) {
                  für (Reihe = 0; Reihe < board.length; row++) {
                        für (Spalte = 0; Spalte < Brett [Reihe] .length; col++) {
                              int-Index = Brett [Reihe] [Spalte];
                              g.drawImage (Fliesen [Index], 32 * Spalte, 32 * rudern, dieses);

                        }
                  }

                  Versuch {


                        für (Spielerspieler: players.values ()) {
                              System.out.println („++++++++++++++++++++++++++");
                              System.out.println („gegenwärtiges Diagramm: “ + player.getMap ());
                              wenn (player.getUsername () == me.getUsername ())
                                    player.setMap (currentMap);
                              wenn (player.getUsername () == me.getUsername ())
                                    player.setCommand (myCommand);
                              wenn (player.getMap () == currentMap) {
                                    g.drawImage (player.getPlayerImage (), player.getX (), Spieler
                                                .getY (), dieses);

                              }
                              System.out.println („Befehl-- “ + player.getCommand () + „>“
                                          + bewog player.getUsername () + „auf X: “ + player.getX ()
                                          + „und Y: “ + player.getY ());

                              System.out.println („++++++++++++++++++++++++++");
                        }
                  } Fang (Ausnahme Dan) {
                        System.out.println („niemand ist on.");
                  }

                  // qq
                  /**
                   * für (int runx = 0; runx < 10; runx++) {g.drawImage (userImg [runx],
                   * userPX [runx], userPY [runx], dieses); }
                   **/

                  wenn (drawFlail == zutreffendes && currentMap == 1) g.drawImage (Waffe [1], 32 * 4, 32 * 4, dieses);
				  wenn (drawBattleaxe == zutreffendes && currentMap == 1) g.drawImage (Waffe [0], 32 * 3, 32 * 2, dieses);
                  wenn (drawSword == zutreffendes && currentMap == 1) g.drawImage (Waffe [2], 32 * 13, 32 * 7, dieses);

            }

      }

Antwort : Java-Klienten-applet - Anstrich

Das tut, was ich in Ihrem früheren q vorschlug, IE. den Bediener die Position aller Einzelteile auf den Diagrammen aufspüren lassen
Weitere Lösungen  
 
programming4us programming4us