Je veux créer une boucle de peinture et mise à jour dans android pour l'animation de jeu sur une toile, mais j'ai des problèmes car je n'arrive pas à obtenir le filetage de fonctionner correctement. Il semble s'écraser presque immédiatement. Voici ce que j'ai essayé:Comment implémenter une boucle de mise à jour de peinture?
// Create the thread supplying it with the runnable object
Thread thread = new Thread(runnable);
// Start the thread in oncreate()
thread.start();
class runner implements Runnable {
// This method is called when the thread runs
long wait = 1000;
public void run() {
update();
}
public void update()
{
try{
Thread.currentThread();
//do what you want to do before sleeping
Thread.sleep(wait);//sleep for 1000 ms
//do what you want to do after sleeping
}
catch(InterruptedException ie){
//If this thread was interrupted by another thread
}
run();
}
}
Aussi, quand je laisse tomber l'attente vers le bas plus bas, il se bloque plus vite.
Y a-t-il une façon plus appropriée d'aborder cela?
Changé à ceci:
class runner implements Runnable {
// This method is called when the thread runs
long wait = 10;
boolean blocked = false;
public void run() {
if(!blocked){
blocked = true;
paint();
}
}
public void paint()
{
update();
}
public void update()
{
try{
Thread.currentThread();
//do what you want to do before sleeping
Thread.sleep(wait);//sleep for 1000 ms
//do what you want to do after sleeping
}
catch(InterruptedException ie){
//If this thread was interrupted by another thread
}
paint();
}
}
Il en résulte la même erreur ...:/
Pouvez-vous poster le journal – Vinay
Comment obtenir ce journal? – tylercomp
Si vous utilisez eclipse, ouvrez la fenêtre ddms ou logcat. Si vous n'utilisez pas eclipse, exécutez adb logcat (ou logcat adb.exe sous Windows) à partir de la ligne de commande. adb se trouve dans le dossier tools. –