[ English | 中文 | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Português | Русский | Türkçe | Українська ]
Pyxel ist eine Retro-Spielengine für Python.
Dank seiner einfachen, von Retro-Spielkonsolen inspirierten, Spezifikationen, wie z. B. dass nur 16 Farben angezeigt werden können und nur 4 Töne gleichzeitig wiedergegeben werden können, kannst du dich frei fühlen, um Spiele im Pixel-Art-Stil zu entwickeln.
Die Motivation für die Entwicklung von Pyxel ist das Feedback der Nutzer. Bitte geben Sie Pyxel einen Stern auf GitHub!
Die Spezifikationen und APIs von Pyxel sind inspiriert von PICO-8 und TIC-80.
Pyxel ist quelloffen unter der MIT-Lizenz und frei zu verwenden. Fang an, ein Retro-Spiel mit Pyxel zu entwickeln!
- Läuft auf Windows, Mac, Linux und Web
- Programmierung in Python
- 16-Farben-Palette
- 3 Bildbanken in der Größe 256x256
- 8 Kachelkarten in der Größe 256x256
- 4 Kanäle mit 64 definierbaren Sounds
- 8 Musikstücke, die beliebige Sounds kombinieren können
- Tastatur-, Maus- und Gamepad-Eingaben
- Bild- und Sound-Editor
- Benutzererweiterung für Farben, Kanäle und Banken
Nach der Installation von Python3 (Version 3.8 oder höher), führe folgenden Befehl aus:
pip install -U pyxel
Wenn Sie Python mit dem offiziellen Installationsprogramm installieren, aktivieren Sie bitte das Kontrollkästchen Add Python 3.x to PATH
, um den Befehl pyxel
zu aktivieren.
Nach der Installation von Homebrew führen Sie die folgenden Befehle aus:
brew install pipx
pipx ensurepath
pipx install pyxel
Um die Version nach der Installation von Pyxel zu aktualisieren, führen Sie pipx upgrade pyxel
aus.
Nach der Installation des SDL2-Packages (libsdl2-dev
für Ubuntu), Python3 (version 3.8 oder höher) und python3-pip
, führe folgenden Befehl aus:
sudo pip3 install -U pyxel
Wenn das oben genannte nicht funktioniert, versuchen Sie, sich selbst gemäß den Anweisungen in Makefile zu erstellen.
Die Webversion von Pyxel erfordert keine Python oder Pyxel-Installation und läuft sowohl auf PCs als auch auf Smartphones und Tablets mit unterstützten Webbrowsern.
Eine genaue Anleitung finden Sie auf dieser Seite.
Nach der Installation von Pyxel kannst du die Beispiele von Pyxel mit dem folgenden Befehl in das aktuelle Verzeichnis kopieren:
pyxel copy_examples
Die zu kopierenden Beispiele lauten wie folgt:
01_hello_pyxel.py | Einfaches Fenster | Demo | Code |
02_jump_game.py | Spring Spiel mit Pyxel-Ressource-Datei | Demo | Code |
03_draw_api.py | Demonstration der Zeichen-APIs | Demo | Code |
04_sound_api.py | Demonstration of Sound-APIs | Demo | Code |
05_color_palette.py | Farbpalleten Liste | Demo | Code |
06_click_game.py | Maus-Klick-Spiel | Demo | Code |
07_snake.py | Snake mit BGM | Demo | Code |
08_triangle_api.py | Demonstration of triangle drawing APIs | Demo | Code |
09_shooter.py | Shoot'em up mit Displayübergängen | Demo | Code |
10_platformer.py | Side-Scroller Platform Spiel mit Karte | Demo | Code |
11_offscreen.py | Offscreen-Rendering mit der Klasse Image | Demo | Code |
12_perlin_noise.py | Perlin-Lärm-Animation | Demo | Code |
13_bitmap_font.py | Zeichnen einer Bitmap-Schriftart | Demo | Code |
14_synthesizer.py | Synthesizer mit Audioerweiterungsfunktionen | Demo | Code |
15_tiled_map_file.py | Laden und Zeichnen einer Kachelkartendatei (.tmx) | Demo | Code |
16_transform.py | Bilddrehung und -skalierung | Demo | Code |
99_flip_animation.py | Animation mit flip-Funktion (nur für Nicht-Web-Plattformen) | Demo | Code |
30sec_of_daylight.pyxapp | 1. Pyxel Jam Gewinnspiel von Adam | Demo | Code |
megaball.pyxapp | Arcade Ball Physik Spiel von Adam | Demo | Code |
8bit-bgm-gen.pyxapp | Hintergrundmusikgenerator von frenchbread | Demo | Code |
Führe eines der Beispiele mit folgendem Befehl aus:
cd pyxel_examples
pyxel run 01_hello_pyxel.py
pyxel play 30sec_of_daylight.pyxapp
Nachdem du das Pyxel-Modul in Ihr Python-Skript importiert hast, gib zunächst die Fenstergröße mit der Funktion init
an und starten dann die Pyxel-Anwendung mit der Funktion 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)
Die Argumente der Funktion run
sind die update
Funktion, um jedes Bild zu aktualisieren, und die Funktion draw
, um den Bildschirm bei Bedarf zu zeichnen.
In einer tatsächlichen Anwendung ist es empfehlenswert, den Pyxel-Code in eine Klasse zu verpacken, wie unten dargestellt:
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()
Bei der Erstellung einfacher Grafiken ohne Animation kann die Funktion show
verwendet werden, um den Code übersichtlicher zu gestalten.
import pyxel
pyxel.init(120, 120)
pyxel.cls(1)
pyxel.circb(60, 60, 40, 7)
pyxel.show()
Ein erstelltes Python-Skript kann mit dem Befehl python
ausgeführt werden:
python PYTHON_SCRIPT_FILE
Es kann auch mit dem Befehl pyxel run
ausgeführt werden:
pyxel run PYTHON_SCRIPT_FILE
Darüber hinaus ermöglicht der Befehl pyxel watch
die Überwachung von Änderungen in einem bestimmten Verzeichnis und führt das Programm automatisch erneut aus, wenn Änderungen festgestellt werden:
pyxel watch WATCH_DIR PYTHON_SCRIPT_FILE
Die Verzeichnisüberwachung kann durch Drücken der Tastenkombination Ctrl(Command)+C
beendet werden.
Die folgenden Shortcuts können eingegeben werden, während eine Pyxel-Anwendung läuft:
Esc
Schließt die AnwendungAlt(Option)+1
Speichert einen Screenshot zum DesktopAlt(Option)+2
Setzt die Startzeit für die Aufnahme des Bildschirmaufzeichnung zurückAlt(Option)+3
Speichert die Bildschirmaufzeichnung zum Desktop (bis zu 10 Sekunden)Alt(Option)+9
Wechseln Sie zwischen den Bildschirmmodi (Crisp/Smooth/Retro)Alt(Option)+0
Umschalten des Leistungsmonitors (fps, Updatezeit und Framezeit)Alt(Option)+Enter
Fullscreen umschaltenShift+Alt(Option)+1/2/3
Speichern Sie die entsprechende Bilddatenbank auf dem DesktopShift+Alt(Option)+0
Speichern der aktuellen Farbpalette auf dem Desktop
Der Pyxel Editor kann Bilder und Töne erstellen, die in einer Pyxel-Anwendung verwendet werden.
Starte den Editor mit folgendem Befehl:
pyxel edit PYXEL_RESOURCE_FILE
Wenn die angegebene Pyxel-Datei (.pyxres) existiert, wird die Datei geladen, wenn nicht, wird eine neue Datei mit dem angegebenen Namen erstellt. Wenn die Datei nicht angegeben wird, lautet der Name my_resource.pyxres
.
Nach dem Start des Pyxel-Editors kann die Datei durch Drag-and-Drop einer anderen Ressourcendatei gewechselt werden.
Die erstellte Ressourcendatei kann mit der Funktion load
geladen werden.
Der Pyxel Editor hat die folgenden Bearbeitungsmodi.
Bildeditor
Der Modus zum Editieren von Image Banks.
Ziehen Sie eine Bilddatei (PNG/GIF/JPEG) auf den Bildeditor, um das Bild in die aktuell ausgewählte Bildbank zu laden.
Tilemap-Editor
Der Modus zum editieren von Tilemaps in welcher Bilder aus der Image Bank in einem Tile-Pattern arrangiert sind.
Ziehen Sie eine TMX-Datei (Tiled Map File) auf den Tilemap-Editor, um ihre Ebene in der Zeichenreihenfolge zu laden, die der aktuell ausgewählten Tilemap-Nummer entspricht.
Sound-Editor
Der Modus um Sounds zu editieren.
Musik-Editor
Der Modus um Sounds in Wiedergabereihenfolge zu Musik zusammenzufügen.
Pyxel-Bilder und Tilemaps können auch mit den folgenden Methoden erstellt werden:
- Erstelle ein Bild aus einer Liste strings mit der
Image.set
Funktion oder derTilemap.set
Funktion. - Lade eine Bild-Datei (PNG/GIF/JPEG) in die Pyxel-Palette mit der
Image.load
Funktion.
Pyxel-Sounds können auch mit der folgenden Methode erstellt werden:
- Erstelle einen Sound aus einem String mit der
Sound.set
Funktion oder derMusic.set
Funktion.
Bitte lesen Sie die API-Referenz für die Verwendung dieser Funktionen.
Pyxel unterstützt ein spezielles Dateiformat für das Teilen von Pyxel-Anwendungen (Pyxel application file), das plattformübergreifend funktioniert.
Erstellen Sie die Pyxel-Anwendungsdatei (.pyxapp) mit dem Befehl pyxel package
:
pyxel package APP_DIR STARTUP_SCRIPT_FILE
Wenn die Anwendung Ressourcen oder zusätzliche Module enthalten soll, legen Sie diese in das Anwendungsverzeichnis.
Metadaten können zur Laufzeit angezeigt werden, indem sie im Startskript in folgendem Format angegeben werden. Andere Felder als title
und author
können weggelassen werden.
# title: Pyxel Platformer
# author: Takashi Kitao
# desc: A Pyxel platformer example
# site: https://github.com/kitao/pyxel
# license: MIT
# version: 1.0
Die erstellte Anwendungsdatei kann mit dem Befehl pyxel play
ausgeführt werden:
pyxel play PYXEL_APP_FILE
Pyxel-Anwendungsdateien können auch mit den Befehlen pyxel app2exe
oder pyxel app2html
in eine ausführbare Datei oder eine HTML-Datei umgewandelt werden.
-
width
,height
Die Breite und Höhe des Fensters -
frame_count
Die Anzahl der bereits gezeigten Bilder -
init(width, height, [title], [fps], [quit_key], [display_scale], [capture_scale], [capture_sec])
Initialisiere die Bildschirmgröße der Pyxel-Anwendung (width
,height
). Folgenden kann als Option engegeben werden: den Titel des Fensters mittitle
, die Framerate mitfps
, die Taste zum Beenden des Programmsquit_key
, den Maßstab der Anzeige mitdisplay_scale
, den Maßstab der Bildschirmaufnahme mitcapture_scale
, und die maximale Aufnahmezeit des Bildschirmaufnahmevideos mitcapture_sec
.
z.B.pyxel.init(160, 120, title="My Pyxel App", fps=60, quit_key=pyxel.KEY_NONE, capture_scale=3, capture_sec=0)
-
run(update, draw)
Starte das Pyxel-Programm und rufe die Funktionupdate
zum Updaten des Bildschirms und diedraw
Funktion zum anzeigen. -
show()
Zeige das Fenster und warte bis dieEsc
Taste gedrückt wird. -
flip()
Verschiebt den Bildschirm um ein Bild. Die Anwendung wird beendet, wenn die TasteEsc
gedrückt wird. Diese Funktion funktioniert nicht in der Web-Version. -
quit()
Beende das Pyxel-Programm.
load(filename, [excl_images], [excl_tilemaps], [excl_sounds], [excl_musics])
Lade die Ressourcen-Datei (.pyxres). Wenn eine OptionTrue
ist, wird die Ressource nicht geladen. Wenn eine Palettendatei (.pyxpal) mit demselben Namen am selben Ort wie die Ressourcendatei existiert, wird die Farbe der Palettenanzeige ebenfalls geändert. Die Palettendatei ist ein hexadezimaler Eintrag der Anzeigefarben (z.B.1100FF
), getrennt durch Zeilenumbrüche. Die Palettendatei kann auch verwendet werden, um die im Pyxel Editor angezeigten Farben zu ändern.
-
mouse_x
,mouse_y
Die aktuelle Position der Maus -
mouse_wheel
Der aktuelle Wert des Scrollrads -
btn(key)
ReturnTrue
fallskey
gedrückt ist, sonst returnFalse
. (Liste der Schlüsseldefinitionen) -
btnp(key, [hold], [repeat])
ReturnTrue
fallskey
gedrückt ist, sonst returnFalse
. Wennhold
undrepeat
angegeben sind, wirdTrue
amrepeat
Bildintervall returned, fallskey
für mehr alshold
Frames gedrückt ist. -
btnr(key)
ReturnTrue
fallskey
in dem Frame losgelassen wird, sonst returnFalse
-
mouse(visible)
Fallsvisible
True
ist, zeige den Mauscursor. FallsFalse
, verstecke ihn. Obwohl man den Cursor dann nicht sehen kann, wird seine Position geupdated.
-
colors
Liste der Anzeigefarben der Palette. Die Anzeigefarbe wird durch einen numerischen 24-Bit-Wert angegeben. Verwendecolors.from_list
undcolors.to_list
, um Python-Listen direkt zuzuweisen und abzurufen.
z.B.old_colors = pyxel.colors.to_list(); pyxel.colors.from_list([0x111111, 0x222222, 0x333333]); pyxel.colors[15] = 0x112233
-
images
Liste der Bildbanken (0-2). (Siehe die Klasse Image)
z.B.pyxel.images[0].load(0, 0, "title.png")
-
tilemaps
Liste der Kachelkarten (0-7). (siehe die Tilemap class) -
clip(x, y, w, h)
Setze den Bildausschnitt von (x
,y
) zu Breitew
und Höheh
. Setze den Bildausschnitt zurück zum Follbild mitclip()
-
camera(x, y)
Change the upper left corner coordinates of the screen to (x
,y
). Reset the upper left corner coordinates to (0
,0
) withcamera()
. -
pal(col1, col2)
Ersetze Farbecol1
mitcol2
beim zeichnen. Mitpal()
lässt sich die Pallete auf die initiale zurücksetzen. -
dither(alpha)
Wendet Dithering (Pseudo-Transparenz) beim Zeichnen an. Setzen Siealpha
in den Bereich 0.0-1.0, wobei 0.0 transparent und 1.0 undurchsichtig ist. -
cls(col)
Das Fenster mit der Farbecol
füllen. -
pget(x, y)
Erhalte den Pixel an der Position (x
,y
). -
pset(x, y, col)
Zeichne einen Pixel der Farbecol
an der Position (x
,y
). -
line(x1, y1, x2, y2, col)
Zeichne eine Linie der Farbecol
von (x1
,y1
) bis (x2
,y2
). -
rect(x, y, w, h, col)
Zeichne ein Rechteck der Breitew
, Höheh
und Farbecol
ausgehend von (x
,y
). -
rectb(x, y, w, h, col)
Zeichne die Umrisse eines Rechtecks der Breitew
, Höheh
und Farbecol
ausgehend von (x
,y
). -
circ(x, y, r, col)
Zeichne einen Kreis mit dem Radiusr
und Farbecol
an der Stelle (x
,y
). -
circb(x, y, r, col)
Zeichne die Umrisse eines Kreises mit dem Radiusr
und Farbecol
an der Stelle (x
,y
). -
elli(x, y, w, h, col)
Zeichne eine Ellipse mit der Breitew
, der Höheh
und der Farbecol
von (x
,y
). -
ellib(x, y, w, h, col)
Zeichne den Umriss einer Ellipse der Breitew
, der Höheh
und der Farbecol
von (x
,y
). -
tri(x1, y1, x2, y2, x3, y3, col)
Zeichne ein Dreieck mit den Scheitelpunkten (x1
,y1
), (x2
,y2
), (x3
,y3
) und Farbecol
-
trib(x1, y1, x2, y2, x3, y3, col)
Zeichne die Umrisse eines Dreiecks mit den Scheitelpunkten (x1
,y1
), (x2
,y2
), (x3
,y3
) und Farbecol
-
fill(x, y, col)
Zeichne eine Ellipse mit der Breitew
, der Höheh
und der Farbecol
von (x
,y
). -
blt(x, y, img, u, v, w, h, [colkey], [rotate], [scale])
Kopiere eine Region der Größe (w
,h
) von (u
,v
) des Image Banksimg
(0-2) zur Position (x
,y
). Fallsw
und/oderh
negativ ist, wird der Ausschnitt horizontal und/oder vertical gespiegelt. Fallscolkey
angegeben ist, wird der Auschnitt als transparentes Farbe behandelt. Wennrotate
(in Grad),scale
(1.0=100%) oder beides angegeben ist, wird die entsprechende Transformation angewendet.
bltm(x, y, tm, u, v, w, h, [colkey], [rotate], [scale])
Kopiert den Bereich der Größe (w
,h
) von (u
,v
) der Tilemaptm
(0-7) nach (x
,y
). Wenn ein negativer Wert fürw
und/oderh
angegeben wird, wird es horizontal und/oder vertikal umgekehrt. Wenncolkey
angegeben ist, wird es als transparente Farbe behandelt. Wennrotate
(in Grad),scale
(1.0=100%) oder beides angegeben ist, wird die entsprechende Transformation angewendet. Die Größe einer Kachel ist 8x8 Pixel und wird in einer Tilemap als Tupel von(tile_x, tile_y)
gespeichert.
text(x, y, s, col)
Zeichne einen Strings
der Farbecol
bei (x
,y
).
-
sounds
Liste der Töne (0-63). (siehe die Sound class)
z.B.pyxel.sounds[0].speed = 60
-
musics
Liste der Musikstücke (0-7). (siehe die Music class) -
play(ch, snd, [tick], [loop], [resume])
Spielt den Tonsnd
(0-63) auf Kanalch
(0-3). Die Startposition der Wiedergabe kann durchtick
(1 tick = 1/120 Sekunden) angegeben werden. Fallssnd
eine Liste ist, wird es in der Reihenfolge abgespielt. FallsTrue
fürloop
angeben ist, wird eine Schleifenwiedergabe durchgeführt. Um den vorherigen Ton nach dem Ende der Wiedergabe fortzusetzen, setzen Sieresume
aufTrue
. -
playm(msc, [tick], [loop])
Spielt die Musikmsc
(0-7). Die Startposition der Wiedergabe kann durchtick
(1 tick = 1/120 Sekunden) angegeben werden. FallsTrue
fürloop
angegeben ist, wird eine Schleifenwiedergabe durchgeführt. -
stop([ch])
Stoppt die Wiedergabe des angegebenen Kanalsch
(0-3).stop()
, um die Wiedergabe aller Kanäle zu stoppen. -
play_pos(ch)
Ermittelt die Tonwiedergabeposition des Kanalsch
(0-3) als Tupel von(Ton-Nr., Noten-Nr.)
. GibtNone
zurück, wenn die Wiedergabe gestoppt ist.
-
ceil(x)
Gibt die kleinste ganze Zahl größer oder gleichx
zurück. -
floor(x)
Gibt die größte ganze Zahl kleiner oder gleichx
zurück. -
sgn(x)
Gibt 1 zurück, wennx
positiv ist, 0, wenn es Null ist, und -1, wenn es negativ ist. -
sqrt(x)
Gibt die Quadratwurzel vonx
zurück. -
sin(deg)
Gibt den Sinus vondeg
Grad zurück. -
cos(deg)
Gibt den Kosinus vondeg
Grad zurück. -
atan2(y, x)
Gibt den Arkustangens vony
/x
in Grad zurück. -
rseed(seed)
Setzt den Seed des Zufallszahlengenerators. -
rndi(a, b)
Gibt eine zufällige ganze Zahl zurück, die größer oder gleicha
und kleiner oder gleichb
ist. -
rndf(a, b)
Gibt eine zufällige Dezimalzahl zurück, die größer oder gleicha
und kleiner oder gleichb
ist. -
nseed(seed)
Setzt den Seed des Perlin-Rauschens. -
noise(x, [y], [z])
Gibt den Perlin-Rauschwert für die angegebenen Koordinaten zurück.
-
width
,height
Die Breite und Höhe des Bildes -
set(x, y, data)
Setzen des Bildes an (x
,y
) durch eine Liste von strings.
z.B.pyxel.images[0].set(10, 10, ["0123", "4567", "89ab", "cdef"])
-
load(x, y, filename)
Lade die Bild-Datei (PNG/GIF/JPEG) at (x
,y
). -
pget(x, y)
Erhalte den Pixel an der Position (x
,y
). -
pset(x, y, col)
Zeichne einen Pixel der Farbecol
an der Position (x
,y
).
-
width
,height
Die Breite und Höhe der Tilemap -
imgsrc
Die von der Tilemap referenzierte Image-Bank (0-2) -
set(x, y, data)
Setzen der Tilemap an (x
,y
) durch eine Liste von strings.
z.B.pyxel.tilemap(0).set(0, 0, ["0000 0100 a0b0", "0001 0101 a1b1"])
-
load(x, y, filename, layer)
Laden Sie den Layer in der Zeichnungsreihenfolgelayer
(0-) aus der TMX-Datei (Tiled Map File) an (x
,y
). -
pget(x, y)
Gibt die Tile bei (x
,y
). Ein Tile ist eine Tuple von(tile_x, tile_y)
. -
pset(x, y, tile)
Zeichne einetile
bei (x
,y
). Ein Tile ist eine Tuple von(tile_x, tile_y)
.
-
notes
Liste der Noten (0-127). Je höher die Zahl, desto höher die Tonhöhe, und bei 33 wird sie zu "A2" (440Hz). Der Rest ist -1. -
tones
Liste der Töne (0:Triangle/ 1:Square / 2:Pulse / 3: Noise) -
volumes
Liste von Lautstärken (0-7) -
effects
Liste von Effekten (0:None / 1:Slide / 2:Vibrato / 3:FadeOut / 4:Half-FadeOut / 5:Quarter-FadeOut) -
speed
Abspielgeschwindigkeit. 1 ist die schnellste, und je größer die Zahl, desto langsamer die Wiedergabegeschwindigkeit. Bei 120 entspricht die Länge einer Note 1 Sekunde. -
set(notes, tones, volumes, effects, speed)
Legt Noten, Töne, Lautstärken und Effekte mit einer Zeichenfolge fest. Wenn die Länge der Töne, Lautstärken und Effekte kürzer ist als die der Noten, wird sie von Anfang an wiederholt. -
set_notes(notes)
Setzt die Noten mit einem string aus 'CDEFGAB'+'#-'+'01234' oder 'R'. Groß- und Kleinschreibung sowie Leerzeichen werden ignoriert.
z.B.pyxel.sounds[0].set_notes("G2B-2D3R RF3F3F3")
-
set_tones(tones)
Setzt die Töne mit einem string aus 'TSPN'. Groß- und Kleinschreibung sowie Leerzeichen werden ignoriert.
z.B.pyxel.sounds[0].set_tones("TTSS PPPN")
-
set_volumes(volumes)
Setzt die Lautstärke mit einer Zeichenkette aus '01234567'. Groß- und Kleinschreibung sowie Leerzeichen werden ignoriert.
z.B.pyxel.sounds[0].set_volumes("7777 7531")
-
set_effects(effects)
Setzt die Effekte mit einer Zeichenkette aus 'NSVFHQ'. Groß- und Kleinschreibung sowie Leerzeichen werden ignoriert.
z.B.pyxel.sounds[0].set_effects("NFNF NVVS")
-
seqs
Zweidimensionale Liste von Klängen (0-63) mit der Anzahl der Kanäle -
set(seq0, seq1, seq2, ...)
Stellen Sie die Tonlisten (0-63) der Kanäle ein. Wenn eine leere Liste angegeben wird, wird dieser Kanal nicht für die Wiedergabe verwendet.
z.B.pyxel.musics[0].set([0, 1], [], [3])
Pyxel verfügt über "fortgeschrittene APIs", die in dieser Referenz nicht erwähnt werden, weil sie "Benutzer verwirren können" oder "spezielles Wissen zur Nutzung erfordern".
Wenn du mit deinen Fähigkeiten vertraut bist, versuche hiermit als Anhaltspunkt erstaunliche Werke zu schaffen!
Verwende den [Issue Tracker] (https://github.com/kitao/pyxel/issues), um Fehlerberichte und Funktions-/Erweiterungswünsche einzureichen. Vergewissere dich vor dem Einreichen eines neuen Problems, dass es kein ähnliches offenes Problem gibt.
Jeder, der den Code manuell testet und Fehler oder Verbesserungsvorschläge im Issue Tracker meldet, ist herzlich willkommen!
Patches/Fixes werden in Form von Pull Requests (PRs) akzeptiert. Stellen Sie sicher, dass das Problem, auf das sich der Pull Request bezieht, im Issue Tracker offen ist.
Der eingereichte Pull-Request gilt als Zustimmung zur Veröffentlichung unter der MIT-Lizenz.
Pyxel steht unter der MIT-Lizenz. Es kann in proprietärer Software wiederverwendet werden, vorausgesetzt, dass alle Kopien der Software oder wesentliche Teile davon eine Kopie der Bedingungen der MIT-Lizenz sowie einen Copyright-Hinweis enthalten.
Pyxel sucht Sponsoren auf GitHub Sponsors. Ziehen Sie in Erwägung, Pyxel für die fortlaufende Wartung und Funktionserweiterungen zu sponsern. Sponsoren können sich über Pyxel als Vorteil beraten. Weitere Informationen finden Sie hier.