graphical blog 2

Après avoir un peu participé à Pysycache, et avoir voulu modifié certaines choses dans le code, pour passer plus rapidement certaines séquences, je me suis un peu plus accroché au langage de script Python.

Déjà attiré, par l’utilisation dans les greffons de nombreux logiciels graphiques (Le logiciel de dessin bitmap et retraitement d’image The Gimp, le logiciel de dessin vectoriel Inkscape, le logiciel de mise en page Scribus (entièrement réalisé en python) et le très célèbre modeleur 3D Blender.), et les avantages en tant que langage de script objet.

De nombreuses interfaces on des bindings python, comme GTK ou OpenGL. Je connaissait un peu pygame, utilisé notament par Pysycache.

screenshot montagnes
Mais j’ai découvert, l’excellent pygext, c’est un excellent moteur de jeu, utilisant OpenGL, pour la 3d, mais aussi pour la 2d (vectoriel et bitmap), permettant ainsi de bénéficier des accélération 3d de toutes les cartes d’aujourd’hui, pour obtenir des choses fluides, et jolies, il utilise la lib de compilation JIT psyco pour accélérer l’exécution du code. Il permet en environ 500 lignes de codes (avec 2/3 de lignes de commentaires) de magnifiques Space Invaders ou Asteroïd, comme montré dans les exemples fournis avec les sources. Visiblement, il est en pleine refonte (transformation du cœur des librairies de python en C++ pour accélérer la gestion qui donne d’encore meilleurs performances. J’ai donc fait en quelques minutes un petit script d’essai de scroll parallax, c’est vraiment facile et rapide.

Voici le script (fait par quelqu’un qui ignore à peu près tout de python), montagnes.py compressé et l’image utilisée, montagne1.png (fait en 1minute sous Gimp). Si vous avez installé Pygext, il suffit de placer ces 2 fichiers dans un même répertoire et de taper dans un terminal python montagnes.py.
Il faut que le périphérique de son soit disponible pour le faire fonctionner, et faire un CTRL-c dans un terminal pour quitter.

On peut aussi y mêler des objets vectoriels 2d (voir les exemples de l’archive des sources) ou 3d (autant utiliser les caractéristiques d’OpenGL), mais je n’ai pas encore testé pour les objets 3d.

2 Comments »

  1. J’encaisse pas les gars qui se sentent obligés de se vanter parce qu’ils ont réussi un petit script. Je dis pas ça pour la publication du script, mais pour ce genre de petites phrases inutiles: “fait par quelqu’un qui ignore à peu pres tout de python”. C’est typique des gars qui touchent à l’informatique… Beuh…

    Comment by Laredoute — %PM %891 %Europe/Paris%q, %2006 @ %1:%Jun %p

  2. Laredoute : C’est pour mettre en avant la simplicité de cette bibliothèque de fonction, par pour se vanter d’avoir fait 3 lignes de code. D’ailleurs au dessus est bien écrit : c’est vraiment facile et rapide. Et c’est totalement le cas.

    Comment by Administrator — %AM %998 %Europe/Paris%q, %2006 @ %1:%Jun %p

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress

Switch to our mobile site