Skip to content

Latest commit

 

History

History
755 lines (541 loc) · 30.6 KB

README.it.md

File metadata and controls

755 lines (541 loc) · 30.6 KB

Downloads GitHub Repo stars GitHub forks GitHub Sponsors

ko-fi

[ English | 中文 | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Português | Русский | Türkçe | Українська ]

Pyxel è 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!

Specifiche

  • Funziona su Windows, Mac, Linux e Web
  • Programmazione in Python
  • 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

Palette colori

Come installare

Windows

Dopo aver installato Python3 (versione 3.8 o superiore), esegui il seguente comando:

pip install -U pyxel

Quando installi Python usando l'installatore ufficiale, assicurati di selezionare l'opzione Add Python 3.x to PATH per abilitare il comando pyxel.

Mac

Dopo aver installato Homebrew, esegui i seguenti comandi:

brew install pipx
pipx ensurepath
pipx install pyxel

Per aggiornare Pyxel dopo l'installazione, esegui pipx upgrade pyxel.

Linux

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 pyxel

Se il comando precedente non funziona, considera di costruire Pyxel da sorgente seguendo le istruzioni nel Makefile.

Web

La versione Web di Pyxel non richiede l'installazione di Python o Pyxel e funziona su PC, smartphone e tablet con browser web supportati.

Per istruzioni dettagliate, fai riferimento a questa pagina.

Eseguire esempi

Dopo aver installato Pyxel, puoi copiare gli esempi nella directory corrente con il seguente comando:

pyxel copy_examples

I 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 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
99_flip_animation.py Animazione con la funzione flip (solo per piattaforme non web) Demo Codice
30sec_of_daylight.pyxapp Gioco vincitore del 1° Pyxel Jam di Adam Demo Codice
megaball.pyxapp Gioco arcade di fisica della palla di Adam Demo Codice
8bit-bgm-gen.pyxapp Generatore di musica di sottofondo di frenchbread Demo Codice

Gli esempi possono essere eseguiti con i seguenti comandi:

cd pyxel_examples
pyxel run 01_hello_pyxel.py
pyxel play 30sec_of_daylight.pyxapp

Come usare

Creare un'applicazione

Nel 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()

Eseguire l'applicazione

Uno script creato può essere eseguito utilizzando il comando python:

python PYTHON_SCRIPT_FILE

Può anche essere eseguito con il comando pyxel run:

pyxel run PYTHON_SCRIPT_FILE

Inoltre, 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_FILE

Il monitoraggio della directory può essere interrotto premendo Ctrl(Command)+C.

Operazioni delle chiavi speciali

Durante l'esecuzione di un'applicazione Pyxel, possono essere eseguite le seguenti operazioni delle chiavi speciali:

  • Esc
    Uscire dall'applicazione
  • Alt(Option)+1
    Salvare lo screenshot sul desktop
  • Alt(Option)+2
    Reimpostare il tempo di inizio della registrazione del video di cattura dello schermo
  • Alt(Option)+3
    Salvare un video di cattura dello schermo sul desktop (fino a 10 secondi)
  • Alt(Option)+8 oppure A+B+X+Y+DL sul gamepad
    Cambiare la scala dello schermo tra massima e intera
  • Alt(Option)+9 oppure A+B+X+Y+DR sul gamepad
    Passare tra le modalità dello schermo (Crisp/Smooth/Retro)
  • Alt(Option)+0 oppure A+B+X+Y+DU sul gamepad
    Visualizzare il monitor delle prestazioni (FPS/update tempo/draw tempo)
  • Alt(Option)+Enter oppure A+B+X+Y+DD sul gamepad
    Visualizzare a schermo intero
  • Shift+Alt(Option)+1/2/3
    Salvare la banca di immagini 0, 1 o 2 sul desktop
  • Shift+Alt(Option)+0
    Salvare la palette di colori corrente sul desktop

Come creare risorse

Pyxel Editor può creare immagini e suoni utilizzati in un'applicazione Pyxel.

Puoi avviare Pyxel Editor con il seguente comando:

pyxel edit PYXEL_RESOURCE_FILE

Se 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) sull'editor di mappe a tessere per caricare il suo strato nell'ordine di disegno corrispondente al numero di mappa a tessere attualmente selezionato.

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.

Altri metodi di creazione delle risorse

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.set o la funzione Tilemap.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.set o la funzione Music.set

Fai riferimento alla documentazione dell'API per l'uso di queste funzioni.

Come distribuire le applicazioni

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_FILE

Se 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.0

Il file dell'applicazione creato può essere eseguito utilizzando il comando pyxel play:

pyxel play PYXEL_APP_FILE

Un file dell'applicazione Pyxel può anche essere convertito in un eseguibile o in un file HTML utilizzando i comandi pyxel app2exe o pyxel app2html.

Riferimento API

Sistema

  • 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 con title, il frame rate con fps, il tasto per chiudere l'applicazione con quit_key, la scala di visualizzazione con display_scale, la scala di acquisizione dello schermo con capture_scale e il tempo massimo di registrazione del video di acquisizione dello schermo con capture_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 funzione update per l'aggiornamento del frame e la funzione draw per il disegno.

  • show()
    Mostra lo schermo e attende che venga premuto il tasto Esc.

  • flip()
    Aggiorna lo schermo di un frame. L'applicazione si chiude quando viene premuto il tasto Esc. Questa funzione non è disponibile nella versione web.

  • quit()
    Chiude l'applicazione Pyxel.

Risorsa

  • load(filename, [excl_images], [excl_tilemaps], [excl_sounds], [excl_musics])
    Carica il file di risorse (.pyxres). Se un'opzione è impostata su True, 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 esempio 1100FF), 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 a vendor_name e app_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"))

Input

  • mouse_x, mouse_y
    La posizione corrente del cursore del mouse

  • mouse_wheel
    Il valore corrente della rotella del mouse

  • btn(key)
    Restituisce True se il tasto key è premuto, altrimenti restituisce False. (Elenco delle definizioni dei tasti)

  • btnp(key, [hold], [repeat])
    Restituisce True se il tasto key è premuto in quel frame, altrimenti restituisce False. Se vengono specificati hold e repeat, dopo che il tasto key è stato tenuto premuto per hold frame o più, True viene restituito ogni repeat frame.

  • btnr(key)
    Restituisce True se il tasto key viene rilasciato in quel frame, altrimenti restituisce False.

  • mouse(visible)
    Mostra il cursore del mouse se visible è True e lo nasconde se visible è False. La posizione del cursore continua ad aggiornarsi anche quando è nascosto.

Grafica

  • colors
    Elenco dei colori della palette. Il colore di visualizzazione è specificato da un valore numerico a 24 bit. Usa colors.from_list e colors.to_list per 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 di w e un'altezza di h. Chiama clip() 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). Chiama camera() per reimpostare le coordinate dell'angolo in alto a sinistra a (0, 0).

  • pal(col1, col2)
    Sostituisce il colore col1 con col2 durante il disegno. Chiama pal() per reimpostare la palette iniziale.

  • dither(alpha)
    Applica un dithering (pseudo-trasparenza) durante il disegno. Imposta alpha nell'intervallo 0.0-1.0, dove 0.0 è trasparente e 1.0 è opaco.

  • cls(col)
    Pulisce lo schermo con il colore col.

  • pget(x, y)
    Ottiene il colore del pixel a (x, y).

  • pset(x, y, col)
    Disegna un pixel con il colore col a (x, y).

  • line(x1, y1, x2, y2, col)
    Disegna una linea di colore col da (x1, y1) a (x2, y2).

  • rect(x, y, w, h, col)
    Disegna un rettangolo di larghezza w, altezza h e colore col da (x, y).

  • rectb(x, y, w, h, col)
    Disegna il contorno di un rettangolo di larghezza w, altezza h e colore col da (x, y).

  • circ(x, y, r, col)
    Disegna un cerchio di raggio r e colore col a (x, y).

  • circb(x, y, r, col)
    Disegna il contorno di un cerchio di raggio r e colore col a (x, y).

  • elli(x, y, w, h, col)
    Disegna un'ellisse di larghezza w, altezza h e colore col da (x, y).

  • ellib(x, y, w, h, col)
    Disegna il contorno di un'ellisse di larghezza w, altezza h e colore col da (x, y).

  • tri(x1, y1, x2, y2, x3, y3, col)
    Disegna un triangolo con vertici (x1, y1), (x2, y2), (x3, y3) e colore col.

  • trib(x1, y1, x2, y2, x3, y3, col)
    Disegna il contorno di un triangolo con vertici (x1, y1), (x2, y2), (x3, y3) e colore col.

  • fill(x, y, col)
    Riempi l'area connessa con lo stesso colore di (x, y) con il colore col.

  • blt(x, y, img, u, v, w, h, [colkey], [rotate], [scale])
    Copia la regione di dimensioni (w, h) da (u, v) della banca immagini img(0-2) a (x, y). Se viene assegnato un valore negativo a w e/o h, la regione verrà capovolta orizzontalmente e/o verticalmente. Se colkey è specificato, verrà trattato come un colore trasparente. Se vengono specificati rotate (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 tessere tm(0-7) a (x, y). Se viene assegnato un valore negativo a w e/o h, la regione verrà capovolta orizzontalmente e/o verticalmente. Se colkey è specificato, verrà trattato come un colore trasparente. Se vengono specificati rotate (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 stringa s di colore col a (x, y).

Audio

  • 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, [tick], [loop], [resume])
    Riproduce il suono snd(0-63) sul canale ch(0-3). Se snd è un elenco, i suoni verranno riprodotti in sequenza. La posizione di partenza può essere specificata da tick (1 tick = 1/120 secondi). Se loop è impostato su True, la riproduzione verrà eseguita in loop. Per riprendere il suono precedente dopo la fine della riproduzione, impostare resume su True.

  • playm(msc, [tick], [loop])
    Riproduce la musica msc(0-7). La posizione di partenza può essere specificata da tick (1 tick = 1/120 secondi). Se loop è impostato su True, la riproduzione verrà eseguita in loop.

  • stop([ch])
    Interrompe la riproduzione del canale specificato ch(0-3). Chiama stop() per interrompere tutti i canali.

  • play_pos(ch)
    Ottiene la posizione di riproduzione del suono sul canale ch(0-3) sotto forma di tupla (sound_no, note_no). Restituisce None quando la riproduzione è terminata.

Matematica

  • ceil(x)
    Restituisce il numero intero più piccolo che è maggiore o uguale a x.

  • floor(x)
    Restituisce il numero intero più grande che è minore o uguale a x.

  • sgn(x)
    Restituisce 1 se x è positivo, 0 se è 0, e -1 se è negativo.

  • sqrt(x)
    Restituisce la radice quadrata di x.

  • sin(deg)
    Restituisce il seno di deg gradi.

  • cos(deg)
    Restituisce il coseno di deg gradi.

  • atan2(y, x)
    Restituisce l'arcotangente di y/x in gradi.

  • rseed(seed)
    Imposta il seme del generatore di numeri casuali.

  • rndi(a, b)
    Restituisce un numero intero casuale maggiore o uguale a a e minore o uguale a b.

  • rndf(a, b)
    Restituisce un numero in virgola mobile casuale maggiore o uguale a a e minore o uguale a b.

  • nseed(seed)
    Imposta il seme del rumore Perlin.

  • noise(x, [y], [z])
    Restituisce il valore del rumore Perlin per le coordinate specificate.

Classe Image

  • 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 colore col a (x, y).

Classe Tilemap

  • 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.tilemap(0).set(0, 0, ["0000 0100 a0b0", "0001 0101 a1b1"])

  • load(x, y, filename, layer)
    Carica il layer nell'ordine di disegno layer(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 una tessera a (x, y). Una tessera è rappresentata come una tupla (image_tx, image_ty).

Classe Sound

  • notes
    Elenco di note (0-127). Più alto è il numero, più acuto è il suono. La nota 33 corrisponde 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. A 120, 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 da 'CDEFGAB'+'#-'+'01234' o 'R'. 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 da 'TSPN'. 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 da '01234567'. 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 da 'NSVFHQ'. Non fa distinzione tra maiuscole e minuscole, e gli spazi bianchi vengono ignorati.
    Esempio: pyxel.sounds[0].set_effects("NFNF NVVS")

Classe Music

  • 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])

API Avanzata

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!

Come Contribuire

Segnalare Problemi

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.

Test Funzionali

Chiunque testi manualmente il codice e segnali bug o suggerimenti per miglioramenti nel Issue Tracker è molto benvenuto!

Inviare Richieste di Pull

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.

Altre Informazioni

Licenza

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.

Ricerca di Sponsor

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.