[ 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)을 타일맵 편집기로 드래그 앤 드롭하면 현재 선택된 타일맵에 레이어 0이 로드됩니다.
사운드 편집기
멜로디와 사운드 효과에 사용되는 사운드를 편집하는 모드입니다.
뮤직 편집기
재생 순서에 따라 사운드를 배열한 뮤직을 편집하는 모드입니다.
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 픽셀이며, 타일맵에(image_tx, image_ty)
의 튜플로 저장됩니다.
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
)의 타일을 가져옵니다. 타일은(image_tx, image_ty)
의 튜플로 표현됩니다. -
pset(x, y, tile)
(x
,y
)에 타일을 설정합니다. 타일은(image_tx, image_ty)
의 튜플로 표현됩니다.
-
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 개발자와 직접 상담할 수 있는 혜택이 제공됩니다. 자세한 내용은 이 페이지를 참조하세요.