IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Comparatif Pygame/tkinter. Quelles différences?


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut Comparatif Pygame/tkinter. Quelles différences?
    Bonjour,
    Qu'est-ce que Pygame permettrait de faire de plus que Tkinter?
    Je me suis familiarisé avec tkinter et j'ai réalisé mes premières animations (pour l'instant très simples). Par contre je ne connais pas du tout Pygame.
    À part la gestion du son, que fait Pygame que tkinter ne sait pas faire? Quels en sont les différences majeures?
    Je n'ai pas trouvé d'article mettant en avant les différences ou atout d'une bibliothèque sur l'autre.
    Avant de passer à des projets plus ambitieux que de bouger des trucs à l'écran( faire un jeu) , j'aimerai en savoir plus sur les limites de tkinter(que j'utilise) ou de Pygame (que je ne connais donc pas).
    Peut on réaliser, par exemple, avec l'un comme l'autre un jeu comme Spaces Invaders?
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Citation Envoyé par Hominidé Voir le message
    Peut on réaliser, par exemple, avec l'un comme l'autre un jeu comme Spaces Invaders?
    Absolument.

    La différence essentielle entre les deux est que Pygame est de plus bas niveau (dit autrement vous pourriez écrire un GUI comme tkinter au dessus de pygame)... Et qui dit "bas niveau", c'est dire une plus grande ouverture côté réalisation que ce que vous pouvez faire avec tkinter qui est plus "spécialisée".

    Rien ne vous empêche de chercher sur Internet un space invader réalisé avec pygame et le comparer avec un autre réalisé avec tkinter et chercher "Pygame vs tkinter" vous donnerait des tas de comparaisons.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Merci pour votre réponse.
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  4. #4
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Et en termes de rapidé d'affichage d'un strite ça donne quoi? Il y a t'il des différences notables entre tkinter/pygame?

    J'ai commencé à écrire avec tkiter le déplacement d'une vingtaine de sprites de 60*60 pixels et malgré que je ne traite ni les événements clavier, ni le son, ni le déplacement du vaisseau mère, ... . J'ai peur qu'à terme la vitesse ne soit pas au rendez-vous . (du moins avec un déplacement pixel par pixel)
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    J'ai peur qu'à terme la vitesse ne soit pas au rendez-vous . (du moins avec un déplacement pixel par pixel)
    Une animation s'appuie sur la persistance rétinienne: 25 à 60 images par secondes.
    Ce qui laisse du temps pour calculer entre deux mises à jour mais pas trop.

    Que vous utilisiez tkinter ou pygame, pour avoir de la rapidité, vous ne pourrez pas coder n'importe comment et devrez ouvrir la documentation et apprendre à utiliser les différentes fonctionnalités de la bibliothèque.

    Par exemple, avec tkinter, vous pouvez déplacer votre vingtaine de sprites de 60*60 pixels en une seule opération du Canvas: .move ou .moveto. Ce qui ira bien plus vite que de déplacer chacun des "sprites".


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Par exemple, avec tkinter, vous pouvez déplacer votre vingtaine de sprites de 60*60 pixels en une seule opération du Canvas: .move ou .moveto. Ce qui ira bien plus vite que de déplacer chacun des "sprites".
    J'utilise move:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def deplace(self,indice_image):
            self.can.move(self.image_id[indice_image], self.dx, self.dy)
            self.update()
    J'ai d'abord construit un dictionnaire qui répertorie les vingt sprites avec leur coordonnée et j'appelle la méthode deplace (comme écrit ci-dessus) à travers une boucle avec les indices_image concernés ... Mon approche n'est pas bonne?
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Mon approche n'est pas bonne?
    Vous avez des "tags" pour déplacer toutes les images (d'une ligne) en même temps.

    Et puis imaginez le premier Space Invaders écrit sur un Intel 8080 avec quelque Ko de mémoire... et le travail de fou pour écrire le machin en assembleur en mesurant la durée de chaque instruction!
    Vous avez des CPU qui tournent 10000 fois plus vite et des Giga à utiliser... vous pourriez coder un univers 3D!

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Merci

    Vous avez des CPU qui tournent 10000 fois plus vite et des Giga à utiliser...
    C'est bien vrai.
    Paradoxalement à cette évolution, j'ai l'impression que plus il y a de ressources moins les codes sont optimisés... Peut-être que la performance engendre le gâchis
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 67
    Dernier message: 16/12/2007, 13h41
  2. [D2006] - C# ou Pascal Objet - Quelle différence
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 15
    Dernier message: 10/03/2006, 01h07
  3. [Outils][ADO.NET]Quelles différences DataSet/Hibernate ?
    Par kunfuka dans le forum EDI/Outils
    Réponses: 8
    Dernier message: 16/01/2006, 21h37
  4. [xsl][xslt][xslfo]quelles différences ?
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 12/01/2006, 13h16
  5. Quelle différence entre "réel simple" et "déc
    Par pyxosledisciple dans le forum Access
    Réponses: 2
    Dernier message: 11/01/2006, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo