[ English | 中文 | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Português | Русский | Türkçe | Українська ]
Pyxel은 Python을 위한 복고풍 게임 엔진입니다.
사양은 복고풍 게임 콘솔에서 영감을 받아 16색만 지원하고 4개의 사운드 채널을 사용할 수 있어 픽셀 아트 스타일의 게임 제작을 쉽게 즐길 수 있습니다.
Pyxel 개발은 사용자 피드백에 의해 이루어집니다. GitHub에서 Pyxel에 별을 주세요!
Pyxel의 사양 및 API는 PICO-8와 TIC-80에서 영감을 받았습니다.
Pyxel은 MIT 라이센스 하에 오픈 소스이며 무료로 사용할 수 있습니다. Pyxel로 레트로 게임을 만들어 봅시다!
- Windows, Mac, Linux 및 Web에서 실행
- Python으로 프로그래밍
- 16색 팔레트
- 3개의 256x256 크기 이미지 뱅크
- 8개의 256x256 크기 타일 맵
- 64개의 정의 가능한 사운드와 4개의 채널
- 결합 가능한 8개의 음악 트랙
- 키보드, 마우스 및 게임패드 입력
- 이미지 및 사운드 편집 도구
- 사용자 확장 가능한 색상, 채널 및 뱅크
Python3 (버전 3.8 이상)을 설치한 후, 다음 명령어를 실행하세요:
pip install -U pyxel
공식 설치 프로그램을 사용하여 Python을 설치할 때 Add Python 3.x to PATH
옵션을 체크하여 pyxel
명령을 활성화하세요.
Homebrew를 설치한 후, 다음 명령어를 실행하세요:
brew install pipx
pipx ensurepath
pipx install pyxel
설치 후 Pyxel을 업그레이드하려면 pipx upgrade pyxel
을 실행하세요.
SDL2 패키지(libsdl2-dev
는 Ubuntu의 경우), Python3 (버전 3.8 이상), python3-pip
를 설치한 후, 다음 명령어를 실행하세요:
sudo pip3 install -U pyxel
이전 명령이 작동하지 않으면 Makefile에 있는 지침에 따라 소스에서 Pyxel을 빌드하는 것을 고려하세요.
Pyxel의 웹 버전은 Python이나 Pyxel 설치가 필요 없으며, 지원되는 웹 브라우저를 사용하는 PC, 스마트폰 및 태블릿에서 실행됩니다.
자세한 지침은 이 페이지를 참조하세요.
Pyxel을 설치한 후, 다음 명령어로 예제를 현재 디렉토리로 복사할 수 있습니다:
pyxel copy_examples
다음 예제가 현재 디렉토리에 복사됩니다:
01_hello_pyxel.py | 가장 간단한 애플리케이션 | 데모 | 코드 |
02_jump_game.py | Pyxel 리소스 파일을 이용한 점프 게임 | 데모 | 코드 |
03_draw_api.py | 그리기 API의 시연 | 데모 | 코드 |
04_sound_api.py | 사운드 API의 시연 | 데모 | 코드 |
05_color_palette.py | 색상 팔레트 목록 | 데모 | 코드 |
06_click_game.py | 마우스 클릭 게임 | 데모 | 코드 |
07_snake.py | BGM이 있는 스네이크 게임 | 데모 | 코드 |
08_triangle_api.py | 삼각형 그리기 API의 시연 | 데모 | 코드 |
09_shooter.py | Shoot 'em up 게임과 화면 전환 | 데모 | 코드 |
10_platformer.py | 맵이 있는 횡스크롤 플랫폼 게임 | 데모 | 코드 |
11_offscreen.py | Image 클래스를 이용한 오프스크린 렌더링 | 데모 | 코드 |
12_perlin_noise.py | 퍼린 노이즈 애니메이션 | 데모 | 코드 |
13_bitmap_font.py | 비트맵 폰트 그리기 | 데모 | 코드 |
14_synthesizer.py | 오디오 확장 기능을 활용한 신시사이저 | 데모 | 코드 |
15_tiled_map_file.py | Tiled Map File (.tmx) 로드 및 그리기 | 데모 | 코드 |
16_transform.py | 이미지 회전 및 크기 조정 | 데모 | 코드 |
99_flip_animation.py | flip 함수로 애니메이션 (비 웹 플랫폼 전용) | 데모 | 코드 |
30sec_of_daylight.pyxapp | 1회 Pyxel Jam 우승 게임 (Adam 제작) | 데모 | 코드 |
megaball.pyxapp | 아케이드 볼 물리 게임 (Adam 제작) | 데모 | 코드 |
8bit-bgm-gen.pyxapp | BGM 자동 생성 도구 (frenchbread 제작) | 데모 | 코드 |
예제는 다음 명령어로 실행할 수 있습니다:
cd pyxel_examples
pyxel run 01_hello_pyxel.py
pyxel play 30sec_of_daylight.pyxapp
Python 스크립트에서 Pyxel 모듈을 가져오고, init
함수로 창 크기를 지정한 후, run
함수로 Pyxel 애플리케이션을 시작합니다.
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)
run
함수의 인자는 프레임 업데이트를 처리하는 update
함수와 화면 그리기를 처리하는 draw
함수입니다.
실제 애플리케이션에서는 Pyxel 코드를 클래스에 감싸는 것이 좋습니다. 아래와 같이 작성할 수 있습니다:
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()
애니메이션 없는 간단한 그래픽을 만들고 싶다면 show
함수를 사용하여 코드를 간단하게 작성할 수 있습니다.
import pyxel
pyxel.init(120, 120)
pyxel.cls(1)
pyxel.circb(60, 60, 40, 7)
pyxel.show()
작성한 스크립트는 python
명령어로 실행할 수 있습니다:
python PYTHON_SCRIPT_FILE
pyxel run
명령어로도 실행할 수 있습니다:
pyxel run PYTHON_SCRIPT_FILE
또한, pyxel watch
명령어를 사용하면 지정한 디렉터리의 변경 사항을 모니터링하고, 변경 사항이 감지되면 프로그램을 자동으로 재실행합니다:
pyxel watch WATCH_DIR PYTHON_SCRIPT_FILE
디렉터리 모니터링은 Ctrl(Command)+C
를 눌러 중지할 수 있습니다.
Pyxel 애플리케이션이 실행 중일 때, 다음의 특수 키 조작을 수행할 수 있습니다:
Esc
애플리케이션 종료Alt(Option)+1
화면 캡처를 데스크탑에 저장Alt(Option)+2
화면 캡처 비디오의 시작 시간을 재설정Alt(Option)+3
화면 캡처 비디오를 데스크탑에 저장 (최대 10초)Alt(Option)+8
또는 게임패드에서A+B+X+Y+DL
화면 확대 방법을 최대 및 정수 배율로 전환Alt(Option)+9
또는 게임패드에서A+B+X+Y+DR
화면 모드 (Crisp/Smooth/Retro) 전환Alt(Option)+0
또는 게임패드에서A+B+X+Y+DU
성능 모니터 (FPS/update
시간/draw
시간) 전환Alt(Option)+Enter
또는 게임패드에서A+B+X+Y+DD
전체 화면 전환Shift+Alt(Option)+1/2/3
이미지 뱅크 0, 1 또는 2를 데스크탑에 저장Shift+Alt(Option)+0
현재 색상 팔레트를 데스크탑에 저장
Pyxel Editor를 사용하여 Pyxel 애플리케이션에서 사용할 이미지와 사운드를 생성할 수 있습니다.
다음 명령으로 Pyxel Editor를 시작할 수 있습니다:
pyxel edit PYXEL_RESOURCE_FILE
지정된 Pyxel 리소스 파일(.pyxres)이 존재하면 해당 파일이 로드됩니다. 존재하지 않는 경우 지정된 이름으로 새 파일이 생성됩니다. 리소스 파일이 생략된 경우 my_resource.pyxres
라는 새 파일이 생성됩니다.
Pyxel Editor를 시작한 후 다른 리소스 파일로 전환하려면 해당 파일을 Pyxel Editor로 드래그 앤 드롭하면 됩니다.
생성된 리소스 파일은 load
함수를 사용하여 로드할 수 있습니다.
Pyxel Editor에는 다음과 같은 편집 모드가 있습니다.
이미지 편집기
각 이미지 뱅크의 이미지를 편집하는 모드입니다.
이미지 편집기로 PNG/GIF/JPEG 파일을 드래그 앤 드롭하면 현재 선택된 이미지 뱅크에 이미지를 로드합니다.
타일맵 편집기
이미지 뱅크의 이미지를 타일 패턴으로 배열하여 타일맵을 편집하는 모드입니다.
타일맵 편집기로 TMX 파일(Tiled Map File)을 드래그 앤 드롭하면 현재 선택된 타일맵 번호에 해당하는 그리기 순서의 레이어를 로드할 수 있습니다.
사운드 편집기
멜로디와 사운드 효과에 사용되는 사운드를 편집하는 모드입니다.
뮤직 편집기
재생 순서에 따라 사운드를 배열한 뮤직을 편집하는 모드입니다.
Pyxel 이미지와 타일맵은 다음 방법을 사용하여 생성할 수도 있습니다:
Image.set
함수 또는Tilemap.set
함수를 사용하여 문자열 목록에서 이미지를 생성합니다.Image.load
함수를 사용하여 Pyxel 팔레트의 이미지 파일(PNG/GIF/JPEG)을 로드합니다.
Pyxel 사운드는 다음 방법을 사용하여 생성할 수도 있습니다:
Sound.set
함수 또는Music.set
함수를 사용하여 문자열에서 사운드를 생성합니다.
이 함수의 사용법은 API 참조를 참조하십시오.
Pyxel은 플랫폼에 관계없이 작동하는 전용 애플리케이션 배포 파일 형식(Pyxel 애플리케이션 파일)을 지원합니다.
Pyxel 애플리케이션 파일(.pyxapp)은 pyxel package
명령을 사용하여 생성됩니다:
pyxel package APP_DIR STARTUP_SCRIPT_FILE
리소스나 추가 모듈을 포함해야 하는 경우, 애플리케이션 디렉토리에 배치하십시오.
메타데이터는 다음 형식으로 시작 스크립트 내에 지정하여 실행 중에 표시될 수 있습니다. title
과 author
를 제외한 필드는 선택 사항입니다.
# title: Pyxel Platformer
# author: Takashi Kitao
# desc: A Pyxel platformer example
# site: https://github.com/kitao/pyxel
# license: MIT
# version: 1.0
생성된 애플리케이션 파일은 pyxel play
명령을 사용하여 실행할 수 있습니다:
pyxel play PYXEL_APP_FILE
Pyxel 애플리케이션 파일은 pyxel app2exe
또는 pyxel app2html
명령을 사용하여 실행 파일이나 HTML 파일로 변환할 수도 있습니다.
-
width
,height
화면의 너비와 높이 -
frame_count
경과한 프레임 수 -
init(width, height, [title], [fps], [quit_key], [display_scale], [capture_scale], [capture_sec])
화면 크기 (width
,height
)로 Pyxel 애플리케이션을 초기화합니다. 다음 옵션을 지정할 수 있습니다:title
로 창 제목,fps
로 프레임 속도,quit_key
로 애플리케이션 종료 키,display_scale
로 화면 표시 배율,capture_scale
로 화면 캡처 배율,capture_sec
로 화면 캡처 비디오의 최대 녹화 시간을 지정합니다.
예시:pyxel.init(160, 120, title="My Pyxel App", fps=60, quit_key=pyxel.KEY_NONE, capture_scale=3, capture_sec=0)
-
run(update, draw)
Pyxel 애플리케이션을 시작하고 프레임 업데이트를 위해update
함수를, 화면 그리기를 위해draw
함수를 호출합니다. -
show()
화면을 표시하고Esc
키가 눌릴 때까지 대기합니다. -
flip()
화면을 한 프레임 갱신합니다.Esc
키가 눌리면 애플리케이션이 종료됩니다. 이 함수는 웹 버전에서는 사용할 수 없습니다. -
quit()
Pyxel 애플리케이션을 종료합니다.
-
load(filename, [excl_images], [excl_tilemaps], [excl_sounds], [excl_musics])
리소스 파일 (.pyxres)을 로드합니다. 옵션이True
로 설정되면 해당 리소스는 로드에서 제외됩니다. 동일한 이름의 팔레트 파일 (.pyxpal)이 리소스 파일과 동일한 위치에 존재하는 경우, 팔레트 표시 색상도 업데이트됩니다. 팔레트 파일은 각 색상을 16진수로 나타낸 값을 줄바꿈으로 구분하여 입력합니다 (예:1100FF
). 팔레트 파일을 사용하면 Pyxel Editor에서 표시되는 색상도 변경할 수 있습니다. -
user_data_dir(vendor_name, app_name)
vendor_name
와app_name
을 기반으로 생성된 사용자 데이터 디렉토리를 반환합니다. 디렉토리가 존재하지 않으면 자동으로 생성됩니다. 이 디렉토리는 하이스코어, 게임 진행 상황 등의 데이터를 저장하는 데 사용됩니다.
예시:print(pyxel.user_data_dir("Takashi Kitao", "Pyxel Shooter"))
-
mouse_x
,mouse_y
현재 마우스 커서의 좌표 -
mouse_wheel
현재 마우스 휠 값 -
btn(key)
key
가 눌려있으면True
를 반환하고, 그렇지 않으면False
를 반환합니다. (키 정의 목록) -
btnp(key, [hold], [repeat])
그 프레임에서key
가 눌렸으면True
를 반환하고, 그렇지 않으면False
를 반환합니다.hold
및repeat
가 지정되면,key
가hold
프레임 이상 눌려 있는 경우repeat
프레임마다True
를 반환합니다. -
btnr(key)
그 프레임에서key
가 해제되었으면True
를 반환하고, 그렇지 않으면False
를 반환합니다. -
mouse(visible)
visible
이True
면 마우스 커서를 표시하고,False
면 숨깁니다. 커서가 숨겨져 있어도 위치는 계속 업데이트됩니다.
-
colors
팔레트 표시 색상 목록. 표시 색상은 24비트 숫자로 지정됩니다. Python 리스트를 직접 할당하거나 가져오려면colors.from_list
및colors.to_list
를 사용하십시오.
예시:old_colors = pyxel.colors.to_list(); pyxel.colors.from_list([0x111111, 0x222222, 0x333333]); pyxel.colors[15] = 0x112233
-
images
이미지 뱅크 (Image 클래스의 인스턴스) 목록 (0-2)
예시:pyxel.images[0].load(0, 0, "title.png")
-
tilemaps
타일맵 (Tilemap 클래스의 인스턴스) 목록 (0-7) -
clip(x, y, w, h)
(x
,y
)부터 너비w
, 높이h
로 화면의 그리기 영역을 설정합니다.clip()
을 호출하면 그리기 영역이 전체 화면으로 재설정됩니다. -
camera(x, y)
화면의 좌상단 좌표를 (x
,y
)로 변경합니다.camera()
를 호출하면 좌상단 좌표가 (0
,0
)로 재설정됩니다. -
pal(col1, col2)
그릴 때 색상col1
을col2
로 대체합니다.pal()
을 호출하면 초기 팔레트로 재설정됩니다. -
dither(alpha)
그릴 때 디더링(유사 반투명)을 적용합니다.alpha
를0.0
-1.0
범위로 설정하며,0.0
은 투명,1.0
은 불투명을 나타냅니다. -
cls(col)
화면을 색상col
로 지웁니다. -
pget(x, y)
(x
,y
)의 픽셀 색상을 가져옵니다. -
pset(x, y, col)
(x
,y
)에 색상col
의 픽셀을 그립니다. -
line(x1, y1, x2, y2, col)
색상col
의 선을 (x1
,y1
)에서 (x2
,y2
)로 그립니다. -
rect(x, y, w, h, col)
너비w
, 높이h
의 색상col
의 사각형을 (x
,y
)에 그립니다. -
rectb(x, y, w, h, col)
너비w
, 높이h
의 색상col
의 사각형 외곽선을 (x
,y
)에 그립니다. -
circ(x, y, r, col)
반지름r
의 색상col
의 원을 (x
,y
)에 그립니다. -
circb(x, y, r, col)
반지름r
의 색상col
의 원 외곽선을 (x
,y
)에 그립니다. -
elli(x, y, w, h, col)
너비w
, 높이h
의 색상col
의 타원을 (x
,y
)에 그립니다. -
ellib(x, y, w, h, col)
너비w
, 높이h
의 색상col
의 타원 외곽선을 (x
,y
)에 그립니다. -
tri(x1, y1, x2, y2, x3, y3, col)
정점이 (x1
,y1
), (x2
,y2
), (x3
,y3
)인 색상col
의 삼각형을 그립니다. -
trib(x1, y1, x2, y2, x3, y3, col)
정점이 (x1
,y1
), (x2
,y2
), (x3
,y3
)인 색상col
의 삼각형 외곽선을 그립니다. -
fill(x, y, col)
(x
,y
)와 같은 색상으로 연결된 영역을 색상col
로 채웁니다. -
blt(x, y, img, u, v, w, h, [colkey], [rotate], [scale])
이미지 뱅크img
(0-2)의 (u
,v
)에서 크기 (w
,h
)의 영역을 (x
,y
)로 복사합니다.w
와/또는h
에 음수를 지정하면 수평 및/또는 수직으로 영역이 뒤집힙니다.colkey
가 지정되면 이를 투명색으로 처리합니다.rotate
(도 단위),scale
(1.0 = 100%) 또는 둘 다 지정하면 해당 변환이 적용됩니다.
bltm(x, y, tm, u, v, w, h, [colkey], [rotate], [scale])
타일맵tm
(0-7)의 (u
,v
)에서 크기 (w
,h
)의 영역을 (x
,y
)로 복사합니다.w
와/또는h
에 음수를 지정하면 수평 및/또는 수직으로 영역이 뒤집힙니다.colkey
가 지정되면 이를 투명색으로 처리합니다.rotate
(도 단위),scale
(1.0 = 100%) 또는 둘 다 지정하면 해당 변환이 적용됩니다. 타일의 크기는 8x8 픽셀이며, 타일맵에(tile_x, tile_y)
의 튜플로 저장됩니다.
text(x, y, s, col)
색상col
의 문자열s
를 (x
,y
)에 그립니다.
-
sounds
사운드 (Sound 클래스의 인스턴스) 목록 (0-63)
예시:pyxel.sounds[0].speed = 60
-
musics
뮤직 (Music 클래스의 인스턴스) 목록 (0-7) -
play(ch, snd, [tick], [loop], [resume])
채널ch
(0-3)에서 사운드snd
(0-63)를 재생합니다.snd
가 리스트인 경우, 사운드가 순차적으로 재생됩니다. 재생 시작 위치는tick
(1 tick = 1/120 초)로 지정할 수 있습니다.loop
를True
로 설정하면 루프 재생이 수행됩니다. 재생이 끝난 후 이전 사운드로 돌아가려면resume
을True
로 설정합니다. -
playm(msc, [tick], [loop])
뮤직msc
(0-7)를 재생합니다. 재생 시작 위치는tick
(1 tick = 1/120 초)로 지정할 수 있습니다.loop
를True
로 설정하면 루프 재생이 수행됩니다. -
stop([ch])
지정한 채널ch
(0-3)의 재생을 중지합니다.stop()
을 호출하면 모든 채널의 재생이 중지됩니다. -
play_pos(ch)
채널ch
(0-3)의 사운드 재생 위치를(sound_no, note_no)
의 튜플로 가져옵니다. 재생이 중지되면None
을 반환합니다.
-
ceil(x)
x
보다 크거나 같은 가장 작은 정수를 반환합니다. -
floor(x)
x
보다 작거나 같은 가장 큰 정수를 반환합니다. -
sgn(x)
x
가 양수일 때1
, 0일 때0
, 음수일 때-1
을 반환합니다. -
sqrt(x)
x
의 제곱근을 반환합니다. -
sin(deg)
deg
도의 사인 값을 반환합니다. -
cos(deg)
deg
도의 코사인 값을 반환합니다. -
atan2(y, x)
y
/x
의 아크탄젠트 값을 도 단위로 반환합니다. -
rseed(seed)
난수 생성기의 시드를 설정합니다. -
rndi(a, b)
a
이상b
이하의 임의의 정수를 반환합니다. -
rndf(a, b)
a
이상b
이하의 임의의 부동소수점을 반환합니다. -
nseed(seed)
퍼린 노이즈의 시드를 설정합니다. -
noise(x, [y], [z])
지정된 좌표의 퍼린 노이즈 값을 반환합니다.
-
width
,height
이미지의 너비와 높이 -
set(x, y, data)
문자열 리스트를 사용하여 (x
,y
)에 이미지를 설정합니다.
예시:pyxel.images[0].set(10, 10, ["0123", "4567", "89ab", "cdef"])
-
load(x, y, filename)
(x
,y
)에 이미지 파일 (PNG/GIF/JPEG)을 로드합니다. -
pget(x, y)
(x
,y
)의 픽셀 색상을 가져옵니다. -
pset(x, y, col)
(x
,y
)에 색상col
의 픽셀을 그립니다.
-
width
,height
타일맵의 너비와 높이 -
imgsrc
타일맵이 참조하는 이미지 뱅크(0-2) -
set(x, y, data)
문자열 리스트를 사용하여 (x
,y
)에 타일맵을 설정합니다.
예시:pyxel.tilemap(0).set(0, 0, ["0000 0100 a0b0", "0001 0101 a1b1"])
-
load(x, y, filename, layer)
(x
,y
)에 TMX 파일 (Tiled Map File)로부터 그리기 순서가layer
(0-)인 레이어를 로드합니다. -
pget(x, y)
(x
,y
)의 타일을 가져옵니다. 타일은(tile_x, tile_y)
의 튜플로 표현됩니다. -
pset(x, y, tile)
(x
,y
)에 타일을 설정합니다. 타일은(tile_x, tile_y)
의 튜플로 표현됩니다.
-
notes
음정 목록 (0-127). 숫자가 클수록 음정이 높아집니다. 음정33
은 'A2'(440Hz)에 해당합니다. 쉼표는-1
로 표현됩니다. -
tones
음색 목록 (0:Triangle / 1:Square / 2:Pulse / 3:Noise) -
volumes
볼륨 목록 (0-7) -
effects
효과 목록 (0:None / 1:Slide / 2:Vibrato / 3:FadeOut / 4:Half-FadeOut / 5:Quarter-FadeOut) -
speed
재생 속도.1
이 가장 빠르고, 숫자가 클수록 재생 속도가 느려집니다.120
에서는 1음의 길이가 1초가 됩니다. -
set(notes, tones, volumes, effects, speed)
문자열을 사용하여 음정, 음색, 볼륨, 효과를 설정합니다. 음색, 볼륨 또는 효과의 길이가 음정보다 짧으면 처음부터 반복됩니다. -
set_notes(notes)
'CDEFGAB'+'#-'+'01234' 또는 'R'로 이루어진 문자열로 음정을 설정합니다. 대소문자를 구분하지 않으며, 공백은 무시됩니다.
예시:pyxel.sounds[0].set_notes("G2B-2D3R RF3F3F3")
-
set_tones(tones)
'TSPN'으로 이루어진 문자열로 음색을 설정합니다. 대소문자를 구분하지 않으며, 공백은 무시됩니다.
예시:pyxel.sounds[0].set_tones("TTSS PPPN")
-
set_volumes(volumes)
'01234567'로 이루어진 문자열로 볼륨을 설정합니다. 대소문자를 구분하지 않으며, 공백은 무시됩니다.
예시:pyxel.sounds[0].set_volumes("7777 7531")
-
set_effects(effects)
'NSVFHQ'로 이루어진 문자열로 효과를 설정합니다. 대소문자를 구분하지 않으며, 공백은 무시됩니다.
예시:pyxel.sounds[0].set_effects("NFNF NVVS")
-
seqs
여러 채널의 사운드 (0-63)로 이루어진 2차원 리스트 -
set(seq0, seq1, seq2, ...)
각 채널에 대한 사운드 (0-63) 리스트를 설정합니다. 빈 리스트가 지정되면 해당 채널은 재생에 사용되지 않습니다.
예시:pyxel.musics[0].set([0, 1], [], [3])
Pyxel에는 사용자에게 혼란을 줄 수 있거나 사용에 전문 지식이 필요할 수 있는 "고급 API"가 포함되어 있지만, 이 문서에서는 언급되지 않았습니다.
자신의 능력에 자신이 있다면 이것을 가이드로 사용하여 놀라운 작품을 만들어 보세요!
문제 추적기를 사용하여 버그 보고서 및 기능 또는 개선 요청을 제출하세요. 새로운 문제를 제출하기 전에 유사한 열린 문제가 없는지 확인해 주세요.
코드를 수동으로 테스트하고 문제 추적기에서 버그 또는 개선 사항을 제안하는 분은 언제든지 환영합니다!
패치 및 수정 사항은 풀 리퀘스트(PR) 형식으로 수락됩니다. 풀 리퀘스트가 해결하는 문제는 문제 추적기에서 열려 있어야 합니다.
풀 리퀘스트를 제출하면 MIT 라이센스 아래에서 기여 내용을 라이센스하는 데 동의하는 것으로 간주됩니다.
Pyxel은 MIT 라이센스 하에 라이센스가 부여됩니다. 소스 코드 및 라이센스 표시용 파일에 저작권 및 라이센스 조건을 표시하면 자유롭게 판매 및 배포할 수 있습니다.
Pyxel은 GitHub Sponsors에서 스폰서를 모집하고 있습니다. Pyxel의 지속적인 유지 관리 및 기능 개발을 지원하기 위해 스폰서를 고려해 주세요. 스폰서에게는 Pyxel 개발자와 직접 상담할 수 있는 혜택이 제공됩니다. 자세한 내용은 이 페이지를 참조하세요.