API

Référence de l'API

Système

  • width, height
    La largeur et la hauteur de l'écran
  • frame_count
    Le nombre d'images écoulées
  • init(width, height, [title], [fps], [quit_key], [display_scale], [capture_scale], [capture_sec])
    Initialise l'application Pyxel avec la taille de l'écran (width, height). Les options suivantes peuvent être spécifiées : le titre de la fenêtre avec title, le taux de rafraîchissement avec fps, la touche pour quitter l'application avec quit_key, l'échelle d'affichage avec display_scale, l'échelle de capture d'écran avec capture_scale, et le temps maximum d'enregistrement de la vidéo de capture d'écran avec capture_sec.
    Exemple : pyxel.init(160, 120, title="My Pyxel App", fps=60, quit_key=pyxel.KEY_NONE, capture_scale=3, capture_sec=0)
  • run(update, draw)
    Démarre l'application Pyxel et appelle la fonction update pour la mise à jour de l'image et la fonction draw pour le dessin.
  • show()
    Affiche l'écran et attend que la touche Esc soit enfoncée.
  • flip()
    Rafraîchit l'écran d'une image. L'application se ferme lorsque la touche Esc est enfoncée. Cette fonction n'est pas disponible dans la version web.
  • quit()
    Ferme l'application Pyxel.

Ressources

  • load(filename, [excl_images], [excl_tilemaps], [excl_sounds], [excl_musics])
    Charge le fichier de ressources (.pyxres). Si une option est définie sur True, la ressource correspondante sera exclue du chargement. Si un fichier de palette (.pyxpal) portant le même nom existe au même endroit que le fichier de ressources, les couleurs de la palette seront également mises à jour. Le fichier de palette contient des entrées hexadécimales pour les couleurs d'affichage (par ex. 1100ff), séparées par des sauts de ligne. Le fichier de palette peut également être utilisé pour changer les couleurs affichées dans Pyxel Editor.
  • user_data_dir(vendor_name, app_name)
    Renvoie le répertoire de données utilisateur créé en fonction de vendor_name et app_name. Si le répertoire n'existe pas, il sera créé automatiquement. Il est utilisé pour stocker des scores élevés, la progression du jeu et des données similaires.
    Exemple : print(pyxel.user_data_dir("Takashi Kitao", "Pyxel Shooter"))

Entrée

  • mouse_x, mouse_y
    La position actuelle du curseur de la souris
  • mouse_wheel
    La valeur actuelle de la molette de la souris
  • btn(key)
    Renvoie True si la touche key est enfoncée, sinon renvoie False. (Liste des définitions de touches)
  • btnp(key, [hold], [repeat])
    Renvoie True si la touche key est enfoncée à cette image, sinon renvoie False. Si hold et repeat sont spécifiés, après que la touche key ait été enfoncée pendant hold images ou plus, True est renvoyé toutes les repeat images.
  • btnr(key)
    Renvoie True si la touche key est relâchée à cette image, sinon renvoie False.
  • mouse(visible)
    Affiche le curseur de la souris si visible est True, et le masque si visible est False. La position du curseur continue de se mettre à jour même lorsqu'il est masqué.

Graphiques

  • colors
    Liste des couleurs de la palette. La couleur d'affichage est spécifiée par une valeur numérique de 24 bits. Utilisez colors.from_list et colors.to_list pour affecter et récupérer directement des listes Python.
    Exemple : old_colors = pyxel.colors.to_list(); pyxel.colors.from_list([0x111111, 0x222222, 0x333333]); pyxel.colors[15] = 0x112233
  • images
    Liste des banques d'images (instances de la classe Image) (0-2)
    Exemple : pyxel.images[0].load(0, 0, "title.png")
  • tilemaps
    Liste des cartes de tuiles (instances de la classe Tilemap) (0-7) Liste des cartes de tuiles (0-7)
  • clip(x, y, w, h)
    Définit la zone de dessin de l'écran à partir de (x, y) avec une largeur de w et une hauteur de h. Appelez clip() pour réinitialiser la zone de dessin à plein écran.
  • camera(x, y)
    Change les coordonnées du coin supérieur gauche de l'écran en (x, y). Appelez camera() pour réinitialiser les coordonnées du coin supérieur gauche à (0, 0).
  • pal(col1, col2)
    Remplace la couleur col1 par col2 lors du dessin. Appelez pal() pour réinitialiser la palette initiale.
  • dither(alpha)
    Applique un tramage (pseudo-transparence) lors du dessin. Réglez alpha dans la plage de 0.0 à 1.0, où 0.0 est transparent et 1.0 est opaque.
  • cls(col)
    Efface l'écran avec la couleur col.
  • pget(x, y)
    Obtient la couleur du pixel à (x, y).
  • pset(x, y, col)
    Dessine un pixel de couleur col à (x, y).
  • line(x1, y1, x2, y2, col)
    Dessine une ligne de couleur col de (x1, y1) à (x2, y2).
  • rect(x, y, w, h, col)
    Dessine un rectangle de largeur w, hauteur h et couleur col à partir de (x, y).
  • rectb(x, y, w, h, col)
    Dessine le contour d'un rectangle de largeur w, hauteur h et couleur col à partir de (x, y).
  • circ(x, y, r, col)
    Dessine un cercle de rayon r et de couleur col à (x, y).
  • circb(x, y, r, col)
    Dessine le contour d'un cercle de rayon r et de couleur col à (x, y).
  • elli(x, y, w, h, col)
    Dessine une ellipse de largeur w, hauteur h et couleur col à partir de (x, y).
  • ellib(x, y, w, h, col)
    Dessine le contour d'une ellipse de largeur w, hauteur h et couleur col à partir de (x, y).
  • tri(x1, y1, x2, y2, x3, y3, col)
    Dessine un triangle avec des sommets à (x1, y1), (x2, y2), (x3, y3) et de couleur col.
  • trib(x1, y1, x2, y2, x3, y3, col)
    Dessine le contour d'un triangle avec des sommets à (x1, y1), (x2, y2), (x3, y3) et de couleur col.
  • fill(x, y, col)
    Remplit la zone connectée avec la même couleur que (x, y) avec la couleur col.
  • blt(x, y, img, u, v, w, h, [colkey], [rotate], [scale])
    Copie la région de taille (w, h) de (u, v) de la banque d'images img(0-2) vers (x, y). Si une valeur négative est assignée à w et/ou h, la région sera retournée horizontalement et/ou verticalement. Si colkey est spécifié, il sera traité comme une couleur transparente. Si rotate (en degrés), scale (1.0 = 100%) ou les deux sont spécifiés, les transformations correspondantes seront appliquées.
  • bltm(x, y, tm, u, v, w, h, [colkey], [rotate], [scale])
    Copie la région de taille (w, h) de (u, v) de la carte de tuiles tm(0-7) vers (x, y). Si une valeur négative est assignée à w et/ou h, la région sera retournée horizontalement et/ou verticalement. Si colkey est spécifié, il sera traité comme une couleur transparente. Si rotate (en degrés), scale (1.0 = 100%) ou les deux sont spécifiés, les transformations correspondantes seront appliquées. La taille d'une tuile est de 8x8 pixels et est stockée dans une carte de tuiles sous forme de tuple (image_tx, image_ty).
  • text(x, y, s, col)
    Dessine une chaîne s de couleur col à (x, y).

Audio

  • sounds
    Liste des sons (instances de la classe Sound) (0-63)
    Exemple : pyxel.sounds[0].speed = 60
  • musics
    Liste des musiques (instances de la classe Music) (0-7)
  • play(ch, snd, [tick], [loop], [resume])
    Joue le son snd(0-63) sur le canal ch(0-3). Si snd est une liste, les sons seront joués en séquence. La position de départ peut être spécifiée par tick (1 tick = 1/120 secondes). Si loop est défini sur True, la lecture en boucle est activée. Pour reprendre le son précédent après la fin de la lecture, définissez resume sur True.
  • playm(msc, [tick], [loop])
    Joue la musique msc(0-7). La position de départ peut être spécifiée par tick (1 tick = 1/120 secondes). Si loop est défini sur True, la lecture en boucle est activée.
  • stop([ch])
    Arrête la lecture du canal spécifié ch(0-3). Appelez stop() pour arrêter tous les canaux.
  • play_pos(ch)
    Obtient la position de lecture du son sur le canal ch(0-3) sous forme de tuple (sound_no, note_no). Renvoie None lorsque la lecture est arrêtée.

Mathématiques

  • ceil(x)
    Renvoie l'entier le plus petit qui est supérieur ou égal à x.
  • floor(x)
    Renvoie l'entier le plus grand qui est inférieur ou égal à x.
  • sgn(x)
    Renvoie 1 si x est positif, 0 s'il est égal à 0, et -1 s'il est négatif.
  • sqrt(x)
    Renvoie la racine carrée de x.
  • sin(deg)
    Renvoie le sinus de deg degrés.
  • cos(deg)
    Renvoie le cosinus de deg degrés.
  • atan2(y, x)
    Renvoie l'arc-tangente de y/x en degrés.
  • rseed(seed)
    Définit la graine du générateur de nombres aléatoires.
  • rndi(a, b)
    Renvoie un entier aléatoire compris entre a et b inclus.
  • rndf(a, b)
    Renvoie un nombre flottant aléatoire compris entre a et b inclus.
  • nseed(seed)
    Définit la graine du bruit de Perlin.
  • noise(x, [y], [z])
    Renvoie la valeur du bruit de Perlin pour les coordonnées spécifiées.

Classe Image

  • width, height
    La largeur et la hauteur de l'image
  • set(x, y, data)
    Définit l'image à (x, y) à l'aide d'une liste de chaînes.
    Exemple : pyxel.images[0].set(10, 10, ["0123", "4567", "89ab", "cdef"])
  • load(x, y, filename)
    Charge un fichier image (PNG/GIF/JPEG) à (x, y).
  • pget(x, y)
    Obtient la couleur du pixel à (x, y).
  • pset(x, y, col)
    Dessine un pixel de couleur col à (x, y).

Classe Tilemap

  • width, height
    La largeur et la hauteur de la carte de tuiles
  • imgsrc
    La banque d'images (0-2) référencée par la carte de tuiles
  • set(x, y, data)
    Définit la carte de tuiles à (x, y) à l'aide d'une liste de chaînes.
    Exemple : pyxel.tilemap(0).set(0, 0, ["0000 0100 a0b0", "0001 0101 a1b1"])
  • load(x, y, filename, layer)
    Charge la layer(0-) à partir du fichier TMX (Tiled Map File) à (x, y).
  • pget(x, y)
    Obtient la tuile à (x, y). Une tuile est représentée sous forme de tuple (image_tx, image_ty).
  • pset(x, y, tile)
    Dessine une tuile à (x, y). Une tuile est représentée sous forme de tuple (image_tx, image_ty).

Classe Sound

  • notes
    Liste de notes (0-127). Plus le nombre est élevé, plus la hauteur du son est aiguë. La note 33 correspond à 'A2'(440Hz). Les notes de silence sont représentées par -1.
  • tones
    Liste de tons (0:Triangle / 1:Square / 2:Pulse / 3:Noise)
  • volumes
    Liste de volumes (0-7)
  • effects
    Liste d'effets (0:None / 1:Slide / 2:Vibrato / 3:FadeOut / 4:Half-FadeOut / 5:Quarter-FadeOut)
  • speed
    Vitesse de lecture. 1 est la plus rapide, et plus le nombre est élevé, plus la vitesse de lecture est lente. À 120, la durée d'une note est de 1 seconde.
  • set(notes, tones, volumes, effects, speed)
    Définit les notes, les tons, les volumes et les effets à l'aide d'une chaîne. Si la longueur des tons, volumes ou effets est inférieure à celle des notes, ils seront répétés à partir du début.
  • set_notes(notes)
    Définit les notes à l'aide d'une chaîne composée de CDEFGAB+#-+01234 ou R. Insensible à la casse, et les espaces sont ignorés.
    Exemple : pyxel.sounds[0].set_notes("g2b-2d3r rf3f3f3")
  • set_tones(tones)
    Définit les tons avec une chaîne composée de TSPN. Insensible à la casse, et les espaces sont ignorés.
    Exemple : pyxel.sounds[0].set_tones("ttss pppn")
  • set_volumes(volumes)
    Définit les volumes avec une chaîne composée de 01234567. Insensible à la casse, et les espaces sont ignorés.
    Exemple : pyxel.sounds[0].set_volumes("7777 7531")
  • set_effects(effects)
    Définit les effets avec une chaîne composée de NSVFHQ. Insensible à la casse, et les espaces sont ignorés.
    Exemple : pyxel.sounds[0].set_effects("nfnf nvvs")
  • mml(mml_str)
    Définit les paramètres associés en utilisant Music Macro Language (MML). Les commandes disponibles sont T(1-900), @(0-3), O(0-4), >, <, Q(1-8), V(0-7), X(0-7), L(1/2/4/8/16/32) et CDEFGABR+#+-+.~&. Pour plus de détails sur les commandes, consultez cette page.
    Exemple : pyxel.sounds[0].mml("t120 @1 o3 q6 l8 x0:12345 c4&c<g16r16>c.<g16 v4 >c.&d16 x0 e2~c2~")
  • save(filename, count, [ffmpeg])
    Crée un fichier WAV contenant le son répété count fois. Si FFmpeg est installé et que ffmpeg est défini sur True, un fichier MP4 est également créé.

Classe Music

  • seqs
    Une liste bidimensionnelle de sons (0-63) sur plusieurs canaux
  • set(seq0, seq1, seq2, ...)
    Définit les listes de sons (0-63) pour chaque canal. Si une liste vide est spécifiée, ce canal ne sera pas utilisé pour la lecture.
    Exemple : pyxel.musics[0].set([0, 1], [], [3])
  • save(filename, count, [ffmpeg])
    Crée un fichier WAV contenant la musique répétée count fois. Si FFmpeg est installé et que ffmpeg est défini sur True, un fichier MP4 est également créé.

API Avancée

Pyxel inclut une "API Avancée" qui n'est pas mentionnée dans cette référence, car elle peut confondre les utilisateurs ou nécessiter des connaissances spécialisées pour son utilisation.

Si vous êtes confiant dans vos compétences, essayez de créer des œuvres étonnantes en utilisant cela comme guide !