API
Référence de l'API
Système
width
,height
La largeur et la hauteur de l'écranframe_count
Le nombre d'images écouléesinit(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 avectitle
, le taux de rafraîchissement avecfps
, la touche pour quitter l'application avecquit_key
, l'échelle d'affichage avecdisplay_scale
, l'échelle de capture d'écran aveccapture_scale
, et le temps maximum d'enregistrement de la vidéo de capture d'écran aveccapture_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 fonctionupdate
pour la mise à jour de l'image et la fonctiondraw
pour le dessin.show()
Affiche l'écran et attend que la toucheEsc
soit enfoncée.flip()
Rafraîchit l'écran d'une image. L'application se ferme lorsque la toucheEsc
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 surTrue
, 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 devendor_name
etapp_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 sourismouse_wheel
La valeur actuelle de la molette de la sourisbtn(key)
RenvoieTrue
si la touchekey
est enfoncée, sinon renvoieFalse
. (Liste des définitions de touches)btnp(key, [hold], [repeat])
RenvoieTrue
si la touchekey
est enfoncée à cette image, sinon renvoieFalse
. Sihold
etrepeat
sont spécifiés, après que la touchekey
ait été enfoncée pendanthold
images ou plus,True
est renvoyé toutes lesrepeat
images.btnr(key)
RenvoieTrue
si la touchekey
est relâchée à cette image, sinon renvoieFalse
.mouse(visible)
Affiche le curseur de la souris sivisible
estTrue
, et le masque sivisible
estFalse
. 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. Utilisezcolors.from_list
etcolors.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 dew
et une hauteur deh
. Appelezclip()
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
). Appelezcamera()
pour réinitialiser les coordonnées du coin supérieur gauche à (0
,0
).pal(col1, col2)
Remplace la couleurcol1
parcol2
lors du dessin. Appelezpal()
pour réinitialiser la palette initiale.dither(alpha)
Applique un tramage (pseudo-transparence) lors du dessin. Réglezalpha
dans la plage de0.0
à1.0
, où0.0
est transparent et1.0
est opaque.cls(col)
Efface l'écran avec la couleurcol
.pget(x, y)
Obtient la couleur du pixel à (x
,y
).pset(x, y, col)
Dessine un pixel de couleurcol
à (x
,y
).line(x1, y1, x2, y2, col)
Dessine une ligne de couleurcol
de (x1
,y1
) à (x2
,y2
).rect(x, y, w, h, col)
Dessine un rectangle de largeurw
, hauteurh
et couleurcol
à partir de (x
,y
).rectb(x, y, w, h, col)
Dessine le contour d'un rectangle de largeurw
, hauteurh
et couleurcol
à partir de (x
,y
).circ(x, y, r, col)
Dessine un cercle de rayonr
et de couleurcol
à (x
,y
).circb(x, y, r, col)
Dessine le contour d'un cercle de rayonr
et de couleurcol
à (x
,y
).elli(x, y, w, h, col)
Dessine une ellipse de largeurw
, hauteurh
et couleurcol
à partir de (x
,y
).ellib(x, y, w, h, col)
Dessine le contour d'une ellipse de largeurw
, hauteurh
et couleurcol
à 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 couleurcol
.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 couleurcol
.fill(x, y, col)
Remplit la zone connectée avec la même couleur que (x
,y
) avec la couleurcol
.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'imagesimg
(0-2) vers (x
,y
). Si une valeur négative est assignée àw
et/ouh
, la région sera retournée horizontalement et/ou verticalement. Sicolkey
est spécifié, il sera traité comme une couleur transparente. Sirotate
(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 tuilestm
(0-7) vers (x
,y
). Si une valeur négative est assignée àw
et/ouh
, la région sera retournée horizontalement et/ou verticalement. Sicolkey
est spécifié, il sera traité comme une couleur transparente. Sirotate
(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înes
de couleurcol
à (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 sonsnd
(0-63) sur le canalch
(0-3). Sisnd
est une liste, les sons seront joués en séquence. La position de départ peut être spécifiée partick
(1 tick = 1/120 secondes). Siloop
est défini surTrue
, la lecture en boucle est activée. Pour reprendre le son précédent après la fin de la lecture, définissezresume
surTrue
.playm(msc, [tick], [loop])
Joue la musiquemsc
(0-7). La position de départ peut être spécifiée partick
(1 tick = 1/120 secondes). Siloop
est défini surTrue
, la lecture en boucle est activée.stop([ch])
Arrête la lecture du canal spécifiéch
(0-3). Appelezstop()
pour arrêter tous les canaux.play_pos(ch)
Obtient la position de lecture du son sur le canalch
(0-3) sous forme de tuple(sound_no, note_no)
. RenvoieNone
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)
Renvoie1
six
est positif,0
s'il est égal à0
, et-1
s'il est négatif.sqrt(x)
Renvoie la racine carrée dex
.sin(deg)
Renvoie le sinus dedeg
degrés.cos(deg)
Renvoie le cosinus dedeg
degrés.atan2(y, x)
Renvoie l'arc-tangente dey
/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 entrea
etb
inclus.rndf(a, b)
Renvoie un nombre flottant aléatoire compris entrea
etb
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'imageset(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 couleurcol
à (x
,y
).
Classe Tilemap
width
,height
La largeur et la hauteur de la carte de tuilesimgsrc
La banque d'images (0-2) référencée par la carte de tuilesset(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 lalayer
(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 unetuile
à (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 note33
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 deCDEFGAB
+#-
+01234
ouR
. 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 deTSPN
. 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 de01234567
. 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 deNSVFHQ
. 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 sontT
(1-900),@
(0-3),O
(0-4),>
,<
,Q
(1-8),V
(0-7),X
(0-7),L
(1/2/4/8/16/32) etCDEFGABR
+#+-
+.~&
. 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 queffmpeg
est défini surTrue
, un fichier MP4 est également créé.
Classe Music
seqs
Une liste bidimensionnelle de sons (0-63) sur plusieurs canauxset(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éecount
fois. Si FFmpeg est installé et queffmpeg
est défini surTrue
, 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 !