[ English | 中文 | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Português | Русский | Türkçe | Українська ]
Pyxel (/ˈpɪksəl/) è un motore di gioco retro per Python.
Le specifiche sono ispirate alle console di gioco retro, come il supporto di solo 16 colori e 4 canali audio, permettendoti di divertirti facilmente a creare giochi in stile pixel art.
Lo sviluppo di Pyxel è guidato dai feedback degli utenti. Ti preghiamo di dare una stella a Pyxel su GitHub!
Le specifiche e le API di Pyxel sono ispirate a PICO-8 e TIC-80.
Pyxel è open source sotto la Licenza MIT ed è gratuito da usare. Iniziamo a creare giochi retro con Pyxel!
- Funziona su Windows, Mac, Linux e Web
- Programmazione in Python
- Dimensione dello schermo personalizzabile
- Palette di 16 colori
- 3 banche di immagini di 256x256
- 8 mappe a tessere di 256x256
- 4 canali con 64 suoni definibili
- 8 tracce musicali che possono combinare qualsiasi suono
- Input da tastiera, mouse e gamepad
- Strumenti di editing per immagini e suoni
- Colori, canali e banche estensibili dall'utente
Dopo aver installato Python3 (versione 3.8 o superiore), esegui il seguente comando:
pip install -U pyxelQuando installi Python usando l'installatore ufficiale, assicurati di selezionare l'opzione Add Python 3.x to PATH per abilitare il comando pyxel.
Dopo aver installato Homebrew, esegui i seguenti comandi:
brew install pipx
pipx ensurepath
pipx install pyxelPer aggiornare Pyxel dopo l'installazione, esegui pipx upgrade pyxel.
Dopo aver installato il pacchetto SDL2 (libsdl2-dev per Ubuntu), Python3 (versione 3.8 o superiore) e python3-pip, esegui il seguente comando:
sudo pip3 install -U pyxelSe il comando precedente non funziona, considera di costruire Pyxel da sorgente seguendo le istruzioni nel Makefile.
La versione web di Pyxel può essere utilizzata su PC così come su smartphone e tablet, purché si disponga di un browser web compatibile, senza installare Python o Pyxel.
Il modo più semplice per utilizzarla è attraverso l'IDE online Pyxel Code Maker.
Per altri modelli di utilizzo, come l'incorporamento di app Pyxel nel proprio sito, fare riferimento a questa pagina.
Dopo aver installato Pyxel, puoi copiare gli esempi nella directory corrente con il seguente comando:
pyxel copy_examplesI seguenti esempi saranno copiati nella tua directory corrente:
| 01_hello_pyxel.py | Applicazione più semplice | Demo | Codice |
| 02_jump_game.py | Gioco di salti con file di risorse Pyxel | Demo | Codice |
| 03_draw_api.py | Dimostrazione delle API di disegno | Demo | Codice |
| 04_sound_api.py | Dimostrazione delle API audio | Demo | Codice |
| 05_color_palette.py | Elenco delle palette di colori | Demo | Codice |
| 06_click_game.py | Gioco di clic del mouse | Demo | Codice |
| 07_snake.py | Gioco della serpente con BGM | Demo | Codice |
| 08_triangle_api.py | Dimostrazione delle API di disegno di triangoli | Demo | Codice |
| 09_shooter.py | Shoot'em up con transizioni di schermo e MML | Demo | Codice |
| 10_platformer.py | Gioco di piattaforma a scorrimento laterale con mappa | Demo | Codice |
| 11_offscreen.py | Rendering offscreen con la classe Image | Demo | Codice |
| 12_perlin_noise.py | Animazione di rumore di Perlin | Demo | Codice |
| 13_bitmap_font.py | Disegnare un font bitmap | Demo | Codice |
| 14_synthesizer.py | Sintetizzatore che utilizza funzionalità di espansione audio | Demo | Codice |
| 15_tiled_map_file.py | Caricamento e disegno di un Tiled Map File (.tmx) | Demo | Codice |
| 16_transform.py | Rotazione e ridimensionamento delle immagini | Demo | Codice |
| 17_app_launcher.py | Launcher di applicazioni Pyxel (puoi giocare a vari giochi!) | Demo | Code |
| 99_flip_animation.py | Animazione con la funzione flip (solo per piattaforme non web) | Demo | Codice |
Gli esempi possono essere eseguiti con i seguenti comandi:
# Run example in examples directory
cd pyxel_examples
pyxel run 01_hello_pyxel.py
# Run app in examples/apps directory
cd apps
pyxel play 30sec_of_daylight.pyxappNel tuo script Python, importa il modulo Pyxel, specifica le dimensioni della finestra con la funzione init, e poi avvia l'applicazione Pyxel con la funzione run.
import pyxel
pyxel.init(160, 120)
def update():
if pyxel.btnp(pyxel.KEY_Q):
pyxel.quit()
def draw():
pyxel.cls(0)
pyxel.rect(10, 10, 20, 20, 11)
pyxel.run(update, draw)Gli argomenti della funzione run sono la funzione update, che gestisce gli aggiornamenti dei fotogrammi, e la funzione draw, che gestisce il disegno sullo schermo.
In un'applicazione reale, è consigliabile incapsulare il codice Pyxel in una classe, come mostrato di seguito:
import pyxel
class App:
def __init__(self):
pyxel.init(160, 120)
self.x = 0
pyxel.run(self.update, self.draw)
def update(self):
self.x = (self.x + 1) % pyxel.width
def draw(self):
pyxel.cls(0)
pyxel.rect(self.x, 0, 8, 8, 9)
App()Per creare grafica semplice senza animazione, puoi utilizzare la funzione show per semplificare il tuo codice.
import pyxel
pyxel.init(120, 120)
pyxel.cls(1)
pyxel.circb(60, 60, 40, 7)
pyxel.show()Uno script creato può essere eseguito utilizzando il comando python:
python PYTHON_SCRIPT_FILEPuò anche essere eseguito con il comando pyxel run:
pyxel run PYTHON_SCRIPT_FILEInoltre, il comando pyxel watch monitora le modifiche in una directory specificata e ri-esegue automaticamente il programma quando vengono rilevati cambiamenti:
pyxel watch WATCH_DIR PYTHON_SCRIPT_FILEIl monitoraggio della directory può essere interrotto premendo Ctrl(Command)+C.
Durante l'esecuzione di un'applicazione Pyxel, possono essere eseguite le seguenti operazioni delle chiavi speciali:
Esc
Uscire dall'applicazioneAlt(Option)+RoppureA+B+X+Y+BACKsul gamepad
Reimposta l'applicazioneAlt(Option)+1
Salvare lo screenshot sul desktopAlt(Option)+2
Reimpostare il tempo di inizio della registrazione del video di cattura dello schermoAlt(Option)+3
Salvare un video di cattura dello schermo sul desktop (fino a 10 secondi)Alt(Option)+8oppureA+B+X+Y+DLsul gamepad
Cambiare la scala dello schermo tra massima e interaAlt(Option)+9oppureA+B+X+Y+DRsul gamepad
Passare tra le modalità dello schermo (Crisp/Smooth/Retro)Alt(Option)+0oppureA+B+X+Y+DUsul gamepad
Visualizzare il monitor delle prestazioni (FPS/updatetempo/drawtempo)Alt(Option)+EnteroppureA+B+X+Y+DDsul gamepad
Visualizzare a schermo interoShift+Alt(Option)+1/2/3
Salvare la banca di immagini 0, 1 o 2 sul desktopShift+Alt(Option)+0
Salvare la palette di colori corrente sul desktop
Pyxel Editor può creare immagini e suoni utilizzati in un'applicazione Pyxel.
Puoi avviare Pyxel Editor con il seguente comando:
pyxel edit PYXEL_RESOURCE_FILESe il file di risorse Pyxel specificato (.pyxres) esiste, verrà caricato. Se non esiste, verrà creato un nuovo file con il nome specificato. Se il file di risorse viene omesso, verrà creato un nuovo file chiamato my_resource.pyxres.
Dopo aver avviato Pyxel Editor, puoi passare a un altro file di risorse trascinandolo e rilasciandolo su Pyxel Editor.
Il file di risorse creato può essere caricato utilizzando la funzione load.
Pyxel Editor ha i seguenti modi di editing.
Editor di Immagini
Il modo per modificare l'immagine in ciascuna banca di immagini.
Puoi trascinare e rilasciare un file immagine (PNG/GIF/JPEG) nell'editor di immagini per caricare l'immagine nella banca di immagini attualmente selezionata.
Editor di Mappe a Tessere
Il modo per modificare le mappe a tessere in cui le immagini delle banche di immagini sono disposte in un modello di piastrelle.
Trascina e rilascia un file TMX (Tiled Map File) nell'editor di mappe a tessere per caricare il suo strato 0 nella mappa a tessere attualmente selezionata.
Editor di Suoni
Il modo per modificare i suoni utilizzati per le melodie e gli effetti sonori.
Editor di Musica
Il modo per modificare le musiche in cui i suoni sono disposti in ordine di riproduzione.
Le immagini e le mappe a tessere di Pyxel possono anche essere create utilizzando i seguenti metodi:
- Crea un'immagine da un elenco di stringhe utilizzando la funzione
Image.seto la funzioneTilemap.set - Carica un file immagine (PNG/GIF/JPEG) nella palette Pyxel con la funzione
Image.load
I suoni Pyxel possono anche essere creati utilizzando il seguente metodo:
- Crea un suono da stringhe con la funzione
Sound.seto la funzioneMusic.set
Fai riferimento alla documentazione dell'API per l'uso di queste funzioni.
Pyxel supporta un formato di file di distribuzione dell'applicazione dedicato (file dell'applicazione Pyxel) che è multipiattaforma.
Un file dell'applicazione Pyxel (.pyxapp) viene creato utilizzando il comando pyxel package:
pyxel package APP_DIR STARTUP_SCRIPT_FILESe hai bisogno di includere risorse o moduli aggiuntivi, posizionali nella directory dell'applicazione.
I metadati possono essere visualizzati durante l'esecuzione specificandoli nel seguente formato all'interno dello script di avvio. I campi diversi da title e author sono facoltativi.
# title: Pyxel Platformer
# author: Takashi Kitao
# desc: A Pyxel platformer example
# site: https://github.com/kitao/pyxel
# license: MIT
# version: 1.0Il file dell'applicazione creato può essere eseguito utilizzando il comando pyxel play:
pyxel play PYXEL_APP_FILEUn file dell'applicazione Pyxel può anche essere convertito in un eseguibile o in un file HTML utilizzando i comandi pyxel app2exe o pyxel app2html.
-
width,height
La larghezza e l'altezza dello schermo -
frame_count
Il numero di frame trascorsi -
init(width, height, [title], [fps], [quit_key], [display_scale], [capture_scale], [capture_sec])
Inizializza l'applicazione Pyxel con la dimensione dello schermo (width,height). Le seguenti opzioni possono essere specificate: il titolo della finestra contitle, il frame rate confps, il tasto per chiudere l'applicazione conquit_key, la scala di visualizzazione condisplay_scale, la scala di acquisizione dello schermo concapture_scalee il tempo massimo di registrazione del video di acquisizione dello schermo concapture_sec.
Esempio:pyxel.init(160, 120, title="My Pyxel App", fps=60, quit_key=pyxel.KEY_NONE, capture_scale=3, capture_sec=0) -
run(update, draw)
Avvia l'applicazione Pyxel e chiama la funzioneupdateper l'aggiornamento del frame e la funzionedrawper il disegno. -
show()
Mostra lo schermo e attende che venga premuto il tastoEsc. -
flip()
Aggiorna lo schermo di un frame. L'applicazione si chiude quando viene premuto il tastoEsc. Questa funzione non è disponibile nella versione web. -
quit()
Chiude l'applicazione Pyxel. -
reset()
Reimposta l'applicazione Pyxel. Le variabili d'ambiente vengono mantenute dopo il reset.
-
load(filename, [exclude_images], [exclude_tilemaps], [exclude_sounds], [exclude_musics])
Carica il file di risorse (.pyxres). Se un'opzione è impostata suTrue, la risorsa corrispondente sarà esclusa dal caricamento. Se esiste un file di palette (.pyxpal) con lo stesso nome nella stessa posizione del file di risorse, anche i colori della palette verranno aggiornati. Il file di palette contiene voci esadecimali per i colori di visualizzazione (ad esempio1100ff), separate da ritorni a capo. Il file di palette può essere utilizzato anche per modificare i colori visualizzati nell'editor Pyxel. -
user_data_dir(vendor_name, app_name)
Restituisce la directory dei dati utente creata in base avendor_nameeapp_name. Se la directory non esiste, verrà creata automaticamente. Viene utilizzata per memorizzare punteggi alti, progressi del gioco e dati simili.
Esempio:print(pyxel.user_data_dir("Takashi Kitao", "Pyxel Shooter"))
-
mouse_x,mouse_y
La posizione corrente del cursore del mouse -
mouse_wheel
Il valore corrente della rotella del mouse -
btn(key)
RestituisceTruese il tastokeyè premuto, altrimenti restituisceFalse. (Elenco delle definizioni dei tasti) -
btnp(key, [hold], [repeat])
RestituisceTruese il tastokeyè premuto in quel frame, altrimenti restituisceFalse. Se vengono specificatiholderepeat, dopo che il tastokeyè stato tenuto premuto perholdframe o più,Trueviene restituito ognirepeatframe. -
btnr(key)
RestituisceTruese il tastokeyviene rilasciato in quel frame, altrimenti restituisceFalse. -
mouse(visible)
Mostra il cursore del mouse sevisibleèTruee lo nasconde sevisibleèFalse. La posizione del cursore continua ad aggiornarsi anche quando è nascosto.
-
colors
Elenco dei colori della palette. Il colore di visualizzazione è specificato da un valore numerico a 24 bit. Usacolors.from_listecolors.to_listper assegnare e recuperare direttamente le liste Python.
Esempio:old_colors = pyxel.colors.to_list(); pyxel.colors.from_list([0x111111, 0x222222, 0x333333]); pyxel.colors[15] = 0x112233 -
images
Elenco delle banche di immagini (istanze della classe Image) (0-2)
Esempio:pyxel.images[0].load(0, 0, "title.png") -
tilemaps
Elenco delle mappe a tessere (istanze della classe Tilemap) (0-7) -
clip(x, y, w, h)
Imposta l'area di disegno dello schermo da (x,y) con una larghezza diwe un'altezza dih. Chiamaclip()per reimpostare l'area di disegno a tutto schermo. -
camera(x, y)
Cambia le coordinate dell'angolo in alto a sinistra dello schermo a (x,y). Chiamacamera()per reimpostare le coordinate dell'angolo in alto a sinistra a (0,0). -
pal(col1, col2)
Sostituisce il colorecol1concol2durante il disegno. Chiamapal()per reimpostare la palette iniziale. -
dither(alpha)
Applica un dithering (pseudo-trasparenza) durante il disegno. Impostaalphanell'intervallo0.0-1.0, dove0.0è trasparente e1.0è opaco. -
cls(col)
Pulisce lo schermo con il colorecol. -
pget(x, y)
Ottiene il colore del pixel a (x,y). -
pset(x, y, col)
Disegna un pixel con il colorecola (x,y). -
line(x1, y1, x2, y2, col)
Disegna una linea di colorecolda (x1,y1) a (x2,y2). -
rect(x, y, w, h, col)
Disegna un rettangolo di larghezzaw, altezzahe colorecolda (x,y). -
rectb(x, y, w, h, col)
Disegna il contorno di un rettangolo di larghezzaw, altezzahe colorecolda (x,y). -
circ(x, y, r, col)
Disegna un cerchio di raggiore colorecola (x,y). -
circb(x, y, r, col)
Disegna il contorno di un cerchio di raggiore colorecola (x,y). -
elli(x, y, w, h, col)
Disegna un'ellisse di larghezzaw, altezzahe colorecolda (x,y). -
ellib(x, y, w, h, col)
Disegna il contorno di un'ellisse di larghezzaw, altezzahe colorecolda (x,y). -
tri(x1, y1, x2, y2, x3, y3, col)
Disegna un triangolo con vertici (x1,y1), (x2,y2), (x3,y3) e colorecol. -
trib(x1, y1, x2, y2, x3, y3, col)
Disegna il contorno di un triangolo con vertici (x1,y1), (x2,y2), (x3,y3) e colorecol. -
fill(x, y, col)
Riempi l'area connessa con lo stesso colore di (x,y) con il colorecol. -
blt(x, y, img, u, v, w, h, [colkey], [rotate], [scale])
Copia la regione di dimensioni (w,h) da (u,v) della banca immaginiimg(0-2) a (x,y). Se viene assegnato un valore negativo awe/oh, la regione verrà capovolta orizzontalmente e/o verticalmente. Secolkeyè specificato, verrà trattato come un colore trasparente. Se vengono specificatirotate(in gradi),scale(1.0 = 100%) o entrambi, verranno applicate le trasformazioni corrispondenti.
bltm(x, y, tm, u, v, w, h, [colkey], [rotate], [scale])
Copia la regione di dimensioni (w,h) da (u,v) della mappa a tesseretm(0-7) a (x,y). Se viene assegnato un valore negativo awe/oh, la regione verrà capovolta orizzontalmente e/o verticalmente. Secolkeyè specificato, verrà trattato come un colore trasparente. Se vengono specificatirotate(in gradi),scale(1.0 = 100%) o entrambi, verranno applicate le trasformazioni corrispondenti. La dimensione di una tessera è 8x8 pixel ed è memorizzata in una mappa a tessere come una tupla(image_tx, image_ty).
text(x, y, s, col)
Disegna una stringasdi colorecola (x,y).
-
sounds
Elenco dei suoni (istanze della classe Sound) (0-63)
Esempio:pyxel.sounds[0].speed = 60 -
musics
Elenco delle musiche (istanze della classe Music) (0-7) -
play(ch, snd, [sec], [loop], [resume])
Riproduce il suonosnd(0-63) sul canalech(0-3).sndpuò essere un numero di suono, un elenco di numeri di suono o una stringa MML. La posizione di partenza della riproduzione può essere specificata in secondi consec. Seloopè impostato suTrue, la riproduzione verrà eseguita in loop. Per riprendere il suono precedente dopo la fine della riproduzione, impostareresumesuTrue. -
playm(msc, [sec], [loop])
Riproduce la musicamsc(0-7). La posizione di partenza della riproduzione può essere specificata in secondi consec. Seloopè impostato suTrue, la riproduzione verrà eseguita in loop. -
stop([ch])
Interrompe la riproduzione del canale specificatoch(0-3). Chiamastop()per interrompere tutti i canali. -
play_pos(ch)
Ottiene la posizione di riproduzione del suono sul canalech(0-3) sotto forma di tupla(sound_no, sec). RestituisceNonequando la riproduzione è terminata.
-
ceil(x)
Restituisce il numero intero più piccolo che è maggiore o uguale ax. -
floor(x)
Restituisce il numero intero più grande che è minore o uguale ax. -
sgn(x)
Restituisce1sexè positivo,0se è0, e-1se è negativo. -
sqrt(x)
Restituisce la radice quadrata dix. -
sin(deg)
Restituisce il seno dideggradi. -
cos(deg)
Restituisce il coseno dideggradi. -
atan2(y, x)
Restituisce l'arcotangente diy/xin gradi. -
rseed(seed)
Imposta il seme del generatore di numeri casuali. -
rndi(a, b)
Restituisce un numero intero casuale maggiore o uguale aae minore o uguale ab. -
rndf(a, b)
Restituisce un numero in virgola mobile casuale maggiore o uguale aae minore o uguale ab. -
nseed(seed)
Imposta il seme del rumore Perlin. -
noise(x, [y], [z])
Restituisce il valore del rumore Perlin per le coordinate specificate.
-
width,height
La larghezza e l'altezza dell'immagine -
set(x, y, data)
Imposta l'immagine a (x,y) utilizzando un elenco di stringhe.
Esempio:pyxel.images[0].set(10, 10, ["0123", "4567", "89ab", "cdef"]) -
load(x, y, filename)
Carica un file immagine (PNG/GIF/JPEG) a (x,y). -
pget(x, y)
Ottiene il colore del pixel a (x,y). -
pset(x, y, col)
Disegna un pixel con il colorecola (x,y).
-
width,height
La larghezza e l'altezza della mappa a tessere -
imgsrc
La banca immagini (0-2) a cui fa riferimento la mappa a tessere -
set(x, y, data)
Imposta la mappa a tessere a (x,y) utilizzando un elenco di stringhe.
Esempio:pyxel.tilemaps[0].set(0, 0, ["0000 0100 a0b0", "0001 0101 a1b1"]) -
load(x, y, filename, layer)
Carica illayer(0-) dal file TMX (Tiled Map File) a (x,y). -
pget(x, y)
Ottiene la tessera a (x,y). Una tessera è rappresentata come una tupla(image_tx, image_ty). -
pset(x, y, tile)
Disegna unatesseraa (x,y). Una tessera è rappresentata come una tupla(image_tx, image_ty).
-
notes
Elenco di note (0-127). Più alto è il numero, più acuto è il suono. La nota33corrisponde a 'A2'(440Hz). Le note di silenzio sono rappresentate da-1. -
tones
Elenco di toni (0:Triangle / 1:Square / 2:Pulse / 3:Noise) -
volumes
Elenco di volumi (0-7) -
effects
Elenco di effetti (0:None / 1:Slide / 2:Vibrato / 3:FadeOut / 4:Half-FadeOut / 5:Quarter-FadeOut) -
speed
Velocità di riproduzione.1è la più veloce, e più alto è il numero, più lenta è la velocità di riproduzione. A120, la durata di una nota diventa 1 secondo. -
set(notes, tones, volumes, effects, speed)
Imposta note, toni, volumi ed effetti utilizzando una stringa. Se la lunghezza di toni, volumi o effetti è inferiore alle note, verranno ripetuti dall'inizio. -
set_notes(notes)
Imposta le note utilizzando una stringa composta daCDEFGAB+#-+01234oR. Non fa distinzione tra maiuscole e minuscole, e gli spazi bianchi vengono ignorati.
Esempio:pyxel.sounds[0].set_notes("g2b-2d3r rf3f3f3") -
set_tones(tones)
Imposta i toni con una stringa composta daTSPN. Non fa distinzione tra maiuscole e minuscole, e gli spazi bianchi vengono ignorati.
Esempio:pyxel.sounds[0].set_tones("ttss pppn") -
set_volumes(volumes)
Imposta i volumi con una stringa composta da01234567. Non fa distinzione tra maiuscole e minuscole, e gli spazi bianchi vengono ignorati.
Esempio:pyxel.sounds[0].set_volumes("7777 7531") -
set_effects(effects)
Imposta gli effetti con una stringa composta daNSVFHQ. Non fa distinzione tra maiuscole e minuscole, e gli spazi bianchi vengono ignorati.
Esempio:pyxel.sounds[0].set_effects("nfnf nvvs") -
mml(code)
Passando una stringa MML (Music Macro Language), si passa alla modalità MML e il suono viene riprodotto secondo il suo contenuto. In questa modalità, i parametri normali comenotesespeedvengono ignorati. Per uscire dalla modalità MML, chiamamml()senza argomenti. Per maggiori dettagli su MML, consulta questa pagina.
Esempio:pyxel.sounds[0].mml("T120 Q90 @1 V100 O5 L8 C4&C<G16R16>C.<G16 >C.D16 @VIB1{10,20,20} E2C2") -
save(filename, sec, [ffmpeg])
Crea un file WAV che riproduce il suono per i secondi specificati. Se FFmpeg è installato effmpegè impostato suTrue, viene creato anche un file MP4. -
total_sec()
Restituisce la durata di riproduzione del suono in secondi. RestituisceNonese in MML viene utilizzato un loop infinito.
-
seqs
Un elenco bidimensionale di suoni (0-63) su più canali -
set(seq0, seq1, seq2, ...)
Imposta gli elenchi di suoni (0-63) per ciascun canale. Se viene specificato un elenco vuoto, quel canale non verrà utilizzato per la riproduzione.
Esempio:pyxel.musics[0].set([0, 1], [], [3]) -
save(filename, sec, [ffmpeg])
Crea un file WAV che riproduce la musica per i secondi specificati. Se FFmpeg è installato effmpegè impostato suTrue, viene creato anche un file MP4.
Pyxel include un'"API Avanzata" che non è menzionata in questo documento, poiché potrebbe confondere gli utenti o richiedere conoscenze specialistiche per l'uso.
Se sei sicuro delle tue capacità, prova a creare opere straordinarie utilizzando questo come guida!
Utilizza il Issue Tracker per inviare rapporti di bug e richieste di funzionalità o miglioramenti. Prima di inviare un nuovo problema, assicurati che non ci siano problemi aperti simili.
Chiunque testi manualmente il codice e segnali bug o suggerimenti per miglioramenti nel Issue Tracker è molto benvenuto!
Le patch e le correzioni sono accettate sotto forma di richieste di pull (PR). Assicurati che il problema a cui si riferisce la richiesta di pull sia aperto nel Issue Tracker.
Inviare una richiesta di pull implica che accetti di concedere in licenza il tuo contributo sotto la Licenza MIT.
- FAQ
- Esempi degli Utenti
- Account X dello Sviluppatore
- Server Discord (Inglese)
- Server Discord (Giapponese)
Pyxel è concesso in licenza sotto la Licenza MIT. Può essere riutilizzato in software proprietari, a condizione che tutte le copie del software o delle sue parti sostanziali includano una copia dei termini della Licenza MIT e un avviso di copyright.
Pyxel sta cercando sponsor su GitHub Sponsors. Ti preghiamo di considerare l'idea di sponsorizzare Pyxel per supportarne la manutenzione continua e lo sviluppo di nuove funzionalità. Come beneficio, gli sponsor possono consultare direttamente lo sviluppatore di Pyxel. Per ulteriori dettagli, visita questa pagina.






