CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PYTHON] 2 questions sur pygame.

Xsasuke
Xsasuke
Niveau 7
23 juin 2011 à 21:40:50

Salut à tous!!
Depuis quelques temps, j'ai commencé à apprendre la programmation, tout seul, car c'est quelque chose qui me passionne vraiment (je compte en faire mon métier plus tard, si je le peux). Donc j'ai suivi les tutos du SDZ sur le C puis sur le python (que je trouvais plus accessible, sachant que je n'ai pas beaucoup de temps à consacrer malheureusement).
Mais voilà, je crée donc de tout petits jeux afin de m'exercer, grâce à pygame.
Le problème étant que pour le moment, j'ai du mal à comprendre les docs, et il faut dire qu'il y a peu d'infos en français.
Je voulais donc faire appel à vos connaissances pour vous poser 2 questions toutes bêtes :
-Comment faire pour extraire puis blitter chaque dessin d'un "tile set" sans avoir à les découper via paint?
-Peut-on créer des animations (par exemple pour faire marcher un personnage)grâce à pygame? Ou faut-il obligatoirement des dizaines et des dizaines d'images à blitter à la suite tous les 10 millièmes de secondes (environ)? Parce-que cette dernière méthode me paraît très complexe et longue à mettre en place.

Désolé pour ce gros pavé, et merci d'avance!

Kaoron
Kaoron
Niveau 9
24 juin 2011 à 08:02:25

« Comment faire pour extraire puis blitter chaque dessin d'un "tile set" sans avoir à les découper via paint? »

Surface.blit

draw one image onto another
Surface.blit(source, dest, area=None, special_flags = 0): return Rect

Le paramètre area est un rectangle définissant la sous-section de la surface source à blitter s'il est défini.
http://www.pygame.org/docs/ref/surface.html#Surface.blit

Surface.subsurface

create a new surface that references its parent
Surface.subsurface(Rect): return Surface
Tu peux aussi créer une sous-surface enfant

« Peut-on créer des animations (par exemple pour faire marcher un personnage)grâce à pygame? Ou faut-il obligatoirement des dizaines et des dizaines d'images à blitter à la suite tous les 10 millièmes de secondes (environ)? Parce-que cette dernière méthode me paraît très complexe et longue à mettre en place. »

Les animations ne sont rien d'autre que des dizaines d'images se succédant à une fréquence plus ou moins élevée. C'est donc LA technique générale d'animation, toutes les autres techniques sont des mécanismes plus haut niveau qui cachent les dizaines d'images sous des abstractions diverses. Libre à toi d'implémenter une telle surcouche pour te simplifier la création d'animation.

Par exemple une première abstraction utile : tu peux te dire qu'une animation, ce sont toutes les sous-images d'un charset donné plus une fréquence d'affichage. Donc il te faut un charset, un gabarit (rectangle) , une période de temps. au chargement tu découpes ton charset avec le gabarit et tu mets toutes les sous images dans une liste. Et pour afficher ton animation, tu en affiches d'abord la première image, puis toutes les <periode> milisecondes, tu passes à la suivante.

Kaoron
Kaoron
Niveau 9
24 juin 2011 à 08:03:23

Oups, oublié le lien vers la doc de subsurface :
http://www.pygame.org/docs/ref/surface.html#Surface.subsurface

Xsasuke
Xsasuke
Niveau 7
24 juin 2011 à 09:01:58

Ok ok, vraiment merci pour tes réponses rapides et efficaces!

Xsasuke
Xsasuke
Niveau 7
07 juillet 2011 à 21:18:36

Bonjour!
Je me permets d'up ce sujet pour vous demandiez s'il existait un moyen plus court de faire ce que je veux faire. Je veux créer un système de scores dans un jeu. L'utilisateur devra par conséquent entrer son nom s'il fait un bon score.
Mais comment le relever? Mon idée pour relever ce qu'il écrit serait de faire un : if event.key=K_a: nom+="a" elif event.key==K_b ...
Mais ce serait vraiment long d'autant plus avec les majuscules et les accents. Il-a-t'il une autre possibilité?
Merci d'avance!

Kaoron
Kaoron
Niveau 9
08 juillet 2011 à 07:50:07

Ça, la saisie de texte, c'est le genre de truc dont tu peux te dire "ça a surement été déjà fait par quelqu'un d'autre que moi".

Par exemple :
http://pygame.org/project-EzText-920-.html

Je n'ai pas vérifié la qualité de l'exemple, mais tu peux certainement t'en inspirer, et au pire il doit y en avoir d'autres dans le genre.

Il existe aussi des bibliothèques de gui plus complexes pour des besoins plus évolués :
http://www.pygame.org/wiki/gui?parent=index#GUI%20libraries

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment