2016-01-27 1 views
2

Il y a beaucoup de questions concernant pyglet et pygame, mais ce que je veux savoir, c'est la différence entre les deux, en termes simples.La différence entre pyglet et pygame, en mots simples?

Pas en termes techniques, pas de fonctionnalités expérimentales et tout ça.

Ce sont deux bibliothèques, à la fois API, à la fois pour la création de jeux et d'applications multimédias, non? Juste en anglais, pour quelqu'un comme moi, qui a commencé le cours sur Python dans Codecademy et lire le premier livre de Python.

+0

que diriez-vous juste de passer votre souris sur les deux balises? c'est à peu près aussi simple que possible –

+1

Bien que ce soit une question assez simple *, je suis en désaccord avec le vote serré - C'est une question qui a une réponse définitive (même si elle n'est pas très longue;) –

Répondre

6

Pyglet est un wrapper autour d'OpenGL, tandis que Pygame encapsule SDL.

OpenGL concerne principalement le rendu 3D, alors que SDL

est une bibliothèque de développement multi-plateforme conçue pour fournir un accès à faible niveau audio, clavier, souris, joystick et matériel graphiques via OpenGL et Direct3D.

+1

citation n'était pas une faute de frappe - J'ai extrait ce texte directement du site SDL, d'où il s'agit d'une citation –

1

PyGame est une bibliothèque de bas niveau. Vous devez tout faire par vous-même - à partir de mainloop et toutes les fonctions appelées par mainloop. Vous pouvez le faire de différentes façons.

(Et vous pouvez apprendre quelque chose sur mainloops dans Pyglet, Tkinter, PyQt, wxPython et autres GUIs, non seulement en Python)

Pyglet est cadre - il a déjà mainloop et vous ne pouvez pas le changer et vous Je ne vois pas comment cela fonctionne. Vous remplacez les fonctions appelées mainloop. Vous devez garder ses règles.

+1

Je vote en bas à deux fins. Dire que vous ne pouvez pas changer la "boucle principale" de Pyglet est fou de le dire. Vous pouvez toujours remplacer n'importe quelle fonction python en utilisant [Decorators] (https://www.python.org/dev/peps/pep-0318/), plus en plus jeter un oeil à cet exemple http://stackoverflow.com/ questions/34846635/pyglet-image-rendering/34861509 # 34861509 où j'ai remplacé la fonction 'mainloop' par la mienne. De plus, 'PyGame' n'est pas une bibliothèque de bas niveau, c'est une couche d'abstraction ** ON TOP ** de bibliothèques de bas niveau comme' OpenGL'. J'espère que je ne suis pas seulement dans une diatribe mais que j'ai l'impression que vous l'avez mélangé. – Torxed

+0

En outre, en disant que «Vous devez garder ses règles» est absurde. Encore une fois, jetez un oeil à mon exemple et reconsidérer votre déclaration. J'ai écrit tout mon 'mainloop', remplacé toutes les" règles "que vous prétendez impossible à réécrire. Je crée même un framework à partir de Pyglet, ce n'est pas du tout un framework puisqu'il n'y a pas de classes d'interface utilisateur ou de fonctions prédéfinies pour les opérations sauf pour les opérations GL de bas niveau (comme les vertices etc). – Torxed