Bonjour à tous,
ça fais un bon moment que je cherche sur le net un peu partout, mais j'ai rien trouvé qui répond vraiment à ma question...
Donc la voici,
je cherche à savoir s'il existe une façon simple et propre pour savoir si une surface est en réalité l'écran elle-même.
un exemple vaut mille mots:
screen = pygame.display.set_mode((800,600)) <-- ça c'est une surface qui est l'écran
frame = pygame.Surface((800,600)) <-- ça c'est une surface normal
Mon problème c'est que je me suis créé une bibliothèque de bouton, label, cadre, champs de texte... qui fonctionne à l'aide de frame(cadre)
Lorsque j'appel un objet de type bouton par exemple, je vais lui dire de ce coller sur une surface, par exemple la surface frame_1, et là, il va
se placer à l'intérieur de celle-ci en prennent en compte l'emplacement de cette surface sur l'écran. Je fais ceci en utilisant le Rect de la surface.
Pour rappel, toute surface obtient automatiquement un Rect lorsqu'elle est créé, sauf l'écran.
Pour obtenir le Rect de l'écran je dois obtenir sa surface : pygame.display.get_surface() puis après je peux aller chercher sont Rect
Sauf que si j'essaie d'aller chercher la surface de l'écran et que ce n'est pas l'écran mais une surface normal, mon code plante.
J'ai bien réussi quand même à me débrouiller avec des try: et except: mais je trouve ça mal propre un peu.
Donc, existe t'il une façon simple de savoir si c'est l'écran ou une surface normal, ou encore mieux de récupérer le Rect de tout les types de
surface.
Merci.
Partager