|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
kilian riouÉtudiant Inscription : novembre 2012 Messages : 12 ![]() |
Comme dis dans le titre, la fenêtre pygame plante systématiquement au bout de 5 secondes précisément ( j'ai chronométré ), j'ai essayé un grand nombre de forums, mais aucun ne m'a donné ma réponse.
voici mon code : Code :
autre chose, je suis sous windows vista pro ( je ne sais pas cela a une influence mais on sait jamais ) |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 938 ![]() |
Salut,
Tu n'es pas dans une boucle infinie là ? À quel moment temp change-t-il ? Donc, que temp != temp dans le premier cas et que temp != 0 dans le second cas. Qui plus est, temp est défini dans l'espace global et dans la fonction th. Sujet à confusion ça. |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : avril 2004 Messages : 670 ![]() |
c'est quoi "plante" ? Comme tu as une boucle sans fin, windows pas content ...
je pense qu'il te faut plus de base python avant d'attaquer 'threading' et 'pygame'. |
|
|
00
|
|
|
#4 | ||
kilian riouÉtudiant Inscription : novembre 2012 Messages : 12 ![]() |
bon dans un premier temps le thread est a part: il n'est pas la source du problème ( je l'ai retiré et il n'y a aucune différence ).
ensuite a propos de la boucle infini c'est normal, il m'a été dis dans un tuto que la fonction "pygame.display.flip()" dois être activé en permanence, effectivement il n'y a pas de condition de sortie car avant de gérer la fermeture il faut tout d'abord qu'il fonctionne bien avant ( ceci est un programme pour tester pygame et comprendre son fonctionnement avant de m'engager a fabriquer réellement quelque chose ) pour ce qui est du plantage: au bout de 5 sec précisément, la fenêtre est marqué "ne répond plus", je pense qu'il me manque une fonction dans mon programme qui empêche pygame d'interagir avec le système. ma question est donc très simple, quelle est la fonction a utiliser pour que pygame puisse fonctionner normalement bon voici mo prorame modifier pour etre plus simple Code :
|
||
|
|
00
|
|
|
#5 |
kilian riouÉtudiant Inscription : novembre 2012 Messages : 12 ![]() |
dsl pour le double post mais la ligne 4 n'existe pas normalement =)
|
|
|
00
|
|
|
#6 |
kilian riouÉtudiant Inscription : novembre 2012 Messages : 12 ![]() |
Problème réglé!![]() en fait le problème ne venais pas de la boucle ou du thread mais du fait que windaube ( windows vista pro ), tentais d'envoyer des messages a pygame comme il le fait avec tous ces logiciels, mais pygame ne l'écoutais pas, en fait tous ces messages sont stocké dans une liste qui peut être vidé avec la fonction pygame.event.pump(), maintenant quand je lance le programme il ne plante plus... merci quand même pour vos réponses ( même si ce n’étais pas les bonnes )par contre je suis déçu que cette fonction qui est vitale au bon fonctionnement de pygame ne soit mentionné dans AUCUN tuto sur le net, pour en apprendre l’existence j'ai du chercher des heures durant un forum. |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : avril 2004 Messages : 670 ![]() |
|
|
|
00
|
|
|
#8 | ||
|
Membre expérimenté
![]() Inscription : août 2010 Messages : 516 ![]() |
Citation:
La doc officielle pygame précise bien ce point Citation:
|
||
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() Inscription : avril 2004 Messages : 670 ![]() |
ouais, en général on capture le QUIT pour mettre en pause avant fermeture de la fenêtre:
Code :
while pygame.event.wait().type != pygame.QUIT: pass |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com