Prima di tutto invece di usare un thread consiglio di guardare rendering attivo .
Articolo di rendering attivo
risorsa Oracle (Sun) sull'argomento
Active rendering (Figure 2) is just the opposite. Instead of letting
someone else decide when to paint, the program constantly repaints the
screen in a very tight while loop. While this sort of behavior is not
recommended for regular applications, it is exactly the kind of
control needed to make computer games.
La differenza principale rispetto al rendering normale è che non si aspetta che venga chiamato il paintXYZ (), ma si ridisegna intenzionalmente lo schermo il più velocemente possibile (FPS) per un'esperienza di gioco fluida.
Quindi imposti diversi spee orizzontali e verticali per i tuoi personaggi. E ogni volta che un nuovo "fotogramma" calcia nel tuo gioco, gli oggetti verranno spostati con la distanza dei pixel progettata.