Fractal Posté(e) 1 avril 2011 Share Posté(e) 1 avril 2011 Bonjour, Dans l’article Painless Threading, ils expliquent que toutes les modifications de l’UI doivent se faire dans le thread principal, sinon ça risque de poser des problèmes bizarres et très difficiles à détecter. Pourtant, dans l’exemple Lunar Lander, ils utilisent une classe LunarView héritant de SurfaceView, dans lequel la boucle principale du jeu est assurée par un thread LunarThread, et c’est ce même thread qui s’occupe de l’affichage du vaisseau sur l’écran. Est-ce que les deux se contredisent ou est-ce qu’il y a quelque chose que je n’ai pas compris ? Et quelle est la bonne solution ? Peut-on modifier l’écran depuis la boucle principale qui tourne dans un thread à part (pour un jeu) ? Merci :-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 4 avril 2011 Share Posté(e) 4 avril 2011 SurfaceView est l'exception qui confirme la règle, et peut effectivement être mise à jour depuis un thread secondaire Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 14 avril 2011 Share Posté(e) 14 avril 2011 Il n'y a pas de magie dans ce cas: pour pouvoir modifier la SurfaceView depuis un autre Thread, il est nécessaire de "lock"/"unlock" le Canvas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.