Problème pygame pour modifier un Rect
Fermé
Jules_Bourillon
-
3 mai 2022 à 11:28
yg_be Messages postés 23534 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2025 - 4 mai 2022 à 09:55
yg_be Messages postés 23534 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2025 - 4 mai 2022 à 09:55
A voir également:
- Problème pygame pour modifier un Rect
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier story facebook - Guide
- Comment modifier un pdf - Guide
- Modifier extension fichier - Guide
3 réponses
yg_be
Messages postés
23534
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2025
Ambassadeur
1 579
3 mai 2022 à 15:06
3 mai 2022 à 15:06
bonjour,
peux-tu partager du code permettant de tester cela?
peux-tu partager du code permettant de tester cela?
yg_be
Messages postés
23534
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2025
Ambassadeur
1 579
3 mai 2022 à 15:30
3 mai 2022 à 15:30
Pour t'aider à comprendre:
au lieu de
fais plutôt
et ajoute ce même
au lieu de
print(self.rect)
fais plutôt
print(self,self.rect)
et ajoute ce même
print()dans
teleport_spawn_decor().
En fait, c'est bizarre quand je fais print de mon rect depuis ma class Tree, il m'affiche ça:
<rect(391, 713, 150, 150)>
<rect(0, 0, 150, 150)>
<rect(391, 713, 150, 150)>
<rect(0, 0, 150, 150)>
<rect(391, 713, 150, 150)>
...
Mais quand je fais la même chose depuis ma class Decor, il m'affiche ça:
<rect(0, 0, 150, 150)>
<rect(0, 0, 150, 150)>
<rect(0, 0, 150, 150)>
...
Tu veux que je te passe une partie du code pour le tester ?
<rect(391, 713, 150, 150)>
<rect(0, 0, 150, 150)>
<rect(391, 713, 150, 150)>
<rect(0, 0, 150, 150)>
<rect(391, 713, 150, 150)>
...
Mais quand je fais la même chose depuis ma class Decor, il m'affiche ça:
<rect(0, 0, 150, 150)>
<rect(0, 0, 150, 150)>
<rect(0, 0, 150, 150)>
...
Tu veux que je te passe une partie du code pour le tester ?
yg_be
Messages postés
23534
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2025
1 579
>
Jules_Bourillon
3 mai 2022 à 20:10
3 mai 2022 à 20:10
Si tu peux partager un code testable, tu es le bienvenu.
Je suppose que tu t'es assuré de pouvoir distinguer les print() suivant l'endroit où ils ont été exécutés?
En quoi est-ce bizarre? As-tu tenu compte de ma suggestion?
Je suppose que tu t'es assuré de pouvoir distinguer les print() suivant l'endroit où ils ont été exécutés?
En quoi est-ce bizarre? As-tu tenu compte de ma suggestion?
Ok j'ai essayé des trucs, quand je fais ton truc en print(self.rect[0], self.rect[1], self), j'obtiens ça:
[0, 0] <Tree Sprite(in 0 groups)>
[391.0, 713.667] <Tree Sprite(in 1 groups)>
[0, 0] <Tree Sprite(in 0 groups)>
[391.0, 713.667] <Tree Sprite(in 1 groups)>
[0, 0] <Tree Sprite(in 0 groups)>
[391.0, 713.667] <Tree Sprite(in 1 groups)>
En gros, quand je modifie le rect 1 fois, ça affiche une fois la version modifié et l'autre fois définie dans self__init__
Ce que je peux faire c'est modifié le Rect indéfiniment dans la fonction update
[0, 0] <Tree Sprite(in 0 groups)>
[391.0, 713.667] <Tree Sprite(in 1 groups)>
[0, 0] <Tree Sprite(in 0 groups)>
[391.0, 713.667] <Tree Sprite(in 1 groups)>
[0, 0] <Tree Sprite(in 0 groups)>
[391.0, 713.667] <Tree Sprite(in 1 groups)>
En gros, quand je modifie le rect 1 fois, ça affiche une fois la version modifié et l'autre fois définie dans self__init__
Ce que je peux faire c'est modifié le Rect indéfiniment dans la fonction update
yg_be
Messages postés
23534
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2025
1 579
4 mai 2022 à 09:55
4 mai 2022 à 09:55
ajoute quelque chose dans le print pour préciser à quel endroit il est exécuté, et affiche aussi l'id de self:
print("dans la fonction ...",self.rect[0], self.rect[1], self, id(self))