Skip to content

Latest commit

Β 

History

History
737 lines (526 loc) Β· 30.3 KB

README.ko.md

File metadata and controls

737 lines (526 loc) Β· 30.3 KB

Downloads GitHub Repo stars GitHub forks GitHub Sponsors

ko-fi

[ English | δΈ­ζ–‡ | Deutsch | EspaΓ±ol | FranΓ§ais | Italiano | ζ—₯本θͺž | ν•œκ΅­μ–΄ | PortuguΓͺs | Русский | TΓΌrkΓ§e | Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ° ]

Pyxel은 Python을 μœ„ν•œ 레트둜 κ²Œμž„ μ—”μ§„μž…λ‹ˆλ‹€.

16가지 μƒ‰μƒλ§Œ μ‚¬μš©ν•˜κ±°λ‚˜ λ™μ‹œμ— 4가지 μ†Œλ¦¬λ§Œ μž¬μƒν•˜λŠ” λ“± 레트둜 κ²Œμž„μ— λ‚˜μ˜¬ λ²•ν•œ μ‚¬μ–‘μœΌλ‘œ, Pythonμ—μ„œ ν”½μ…€ μ•„νŠΈ μŠ€νƒ€μΌμ˜ κ²Œμž„μ„ 마음껏 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

Pyxel 개발의 λ™κΈ°λŠ” μ‚¬μš©μžμ˜ ν”Όλ“œλ°±μž…λ‹ˆλ‹€. GitHubμ—μ„œ Pyxel에 별점을 μ£Όμ„Έμš”!

Pyxel의 사양 및 APIλŠ” PICO-8 및 TIC-80 μ—μ„œ μ˜κ°μ„ λ°›μ•˜μŠ΅λ‹ˆλ‹€.

Pyxel은 μ˜€ν”ˆ μ†ŒμŠ€λ‘œ, 무료둜 자유둭게 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Pyxelκ³Ό ν•¨κ»˜ 레트둜 μŠ€νƒ€μΌμ˜ κ²Œμž„μ„ λ§Œλ“€μ–΄λ³΄μ„Έμš”!

사양

  • Windows, Mac, Linux, Webμ—μ„œ μž‘λ™
  • Python으둜 ν”„λ‘œκ·Έλž˜λ°
  • 16색 νŒ”λ ˆνŠΈ
  • 256x256 크기의 이미지 뱅크 3개
  • 256x256 크기의 타일 맡 8개
  • 4개의 μ‚¬μš΄λ“œ 채널 및 64개의 μ •μ˜ κ°€λŠ₯ν•œ μ‚¬μš΄λ“œ
  • μž„μ˜μ˜ μ‚¬μš΄λ“œλ₯Ό μ‘°ν•© κ°€λŠ₯ν•œ 8개의 μŒμ•…
  • ν‚€λ³΄λ“œ, 마우슀, κ²Œμž„νŒ¨λ“œ μž…λ ₯
  • 이미지/μ‚¬μš΄λ“œ 에디터

컬러 νŒ”λ ˆνŠΈ

μ„€μΉ˜ 방법

Windows

Python3 (버전 3.8 이상) 을 μ„€μΉ˜ν•œ ν›„, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

pip install -U pyxel

곡식 μ„€μΉ˜ ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ—¬ Python을 μ„€μΉ˜ν•˜λŠ” 경우 pyxel λͺ…령을 ν™œμ„±ν™”ν•˜λ €λ©΄ Add Python 3.x to PATH ν™•μΈλž€μ„ μ„ νƒν•˜μ‹­μ‹œμ˜€.

Mac

Homebrew λ₯Ό μ„€μΉ˜ν•œ ν›„ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€:

brew install pipx
pipx ensurepath
pipx install pyxel

νŒŒμ΄μ…€μ„ μ„€μΉ˜ν•œ ν›„ 버전을 μ—…λ°μ΄νŠΈν•˜λ €λ©΄ pipx upgrade pyxel을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

Linux

SDL2 νŒ¨ν‚€μ§€ (Ubuntu의 경우 libsdl2-dev), Python3 (버전 3.8 이상), python3-pipλ₯Ό μ„€μΉ˜ν•œ ν›„, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

sudo pip3 install -U pyxel

μœ„μ˜ 방법이 μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©΄ Makefile 의 지침에 따라 자체 λΉŒλ“œλ₯Ό μ‹œλ„ν•˜μ‹­μ‹œμ˜€.

Web

Pyxel의 μ›Ή 버전은 Python λ˜λŠ” Pyxel μ„€μΉ˜κ°€ ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©° μ§€μ›λ˜λŠ” μ›Ή λΈŒλΌμš°μ €κ°€ μžˆλŠ” PCλŠ” λ¬Όλ‘  슀마트폰 및 νƒœλΈ”λ¦Ώμ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€.

ꡬ체적인 지침은 이 νŽ˜μ΄μ§€ λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

예제 μ‹€ν–‰ν•˜κΈ°

Pyxel μ„€μΉ˜ ν›„, λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•΄ ν˜„μž¬ 폴더에 Pyxel 예제 νŒŒμΌμ„ 볡사할 수 μžˆμŠ΅λ‹ˆλ‹€.

pyxel copy_examples

λ³΅μ‚¬λ˜λŠ” 예제 νŒŒμΌμ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

01_hello_pyxel.py κ°„λ‹¨ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ Demo Code
02_jump_game.py Pyxel λ¦¬μ†ŒμŠ€ νŒŒμΌμ„ μ‚¬μš©ν•œ 점프 κ²Œμž„ Demo Code
03_draw_api.py Drawing API 데λͺ¨ Demo Code
04_sound_api.py Sound API 데λͺ¨ Demo Code
05_color_palette.py 색상 νŒ”λ ˆνŠΈ λͺ©λ‘ Demo Code
06_click_game.py 마우슀 클릭 κ²Œμž„ Demo Code
07_snake.py BGM이 ν¬ν•¨λœ μŠ€λ„€μ΄ν¬ κ²Œμž„ Demo Code
08_triangle_api.py Triangle drawing API 데λͺ¨ Demo Code
09_shooter.py ν™”λ©΄ μ „ν™˜μ΄ μžˆλŠ” μŠˆνŒ… κ²Œμž„ Demo Code
10_platformer.py 맡이 μžˆλŠ” 횑 슀크둀 ν”Œλž«νΌ κ²Œμž„ Demo Code
11_offscreen.py Image 클래슀λ₯Ό μ‚¬μš©ν•œ μ˜€ν”„μŠ€ν¬λ¦° λ Œλ”λ§ Demo Code
12_perlin_noise.py νŽ„λ¦° λ…Έμ΄μ¦ˆ μ• λ‹ˆλ©”μ΄μ…˜ Demo Code
13_bitmap_font.py λΉ„νŠΈλ§΅ κΈ€κΌ΄ 그리기 Demo Code
14_synthesizer.py μ˜€λ””μ˜€ μ΅μŠ€νŒ¬μ…˜ κΈ°λŠ₯을 ν™œμš©ν•œ 신디사이저 Demo Code
15_tiled_map_file.py 타일 맡 파일 (.tmx) λ‘œλ“œ 및 그리기 Demo Code
16_transform.py 이미지 νšŒμ „ 및 크기 μ‘°μ • Demo Code
99_flip_animation.py flip κΈ°λŠ₯이 μžˆλŠ” μ• λ‹ˆλ©”μ΄μ…˜ (μ›Ή ν”Œλž«νΌμ΄ μ•„λ‹Œ κ²½μš°μ—λ§Œ ν•΄λ‹Ή) Demo Code
30SecondsOfDaylight.pyxapp 제 1회 Pyxel Jam 우승 μž‘ν’ˆ (Adam μ œμž‘) Demo Code
megaball.pyxapp μ•„μΌ€μ΄λ“œ λ³Ό 물리 κ²Œμž„ (Adam μ œμž‘) Demo Code
8bit-bgm-gen.pyxapp λ°°κ²½ μŒμ•… 생성기 (frenchbread μ œμž‘) Demo Code

λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 예제 νŒŒμΌμ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

μ‚¬μš© 방법

Pyxel μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μž‘μ„± 방법

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

Pyxel μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ 방법

μƒμ„±λœ 파이썬 μŠ€ν¬λ¦½νŠΈλŠ” 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)+9
    ν™”λ©΄ λͺ¨λ“œ (Crisp/Smooth/Retro) μ „ν™˜ν•˜κΈ°
  • Alt(Option)+0
    μ„±λŠ₯ λͺ¨λ‹ˆν„° (fps, update time, draw time) 의 ν‘œμ‹œ/ν‘œμ‹œ ν•΄μ œ
  • Alt(Option)+Enter
    전체 ν™”λ©΄ μ „ν™˜
  • Shift+Alt(Option)+1/2/3
    ν•΄λ‹Ή 이미지 뱅크λ₯Ό λ°μŠ€ν¬ν†±μ— μ €μž₯ν•©λ‹ˆλ‹€
  • Shift+Alt(Option)+0
    ν˜„μž¬ μƒ‰μƒν‘œλ₯Ό 바탕화면에 μ €μž₯

λ¦¬μ†ŒμŠ€μ˜ μž‘μ„± 방법

Pyxel EditorλŠ” Pyxel μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©λ˜λŠ” 이미지와 μ‚¬μš΄λ“œλ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•΄ μ‹œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

pyxel edit PYXEL_RESOURCE_FILE

μ§€μ •ν•œ Pyxel λ¦¬μ†ŒμŠ€ 파일 (.pyxres) 이 μ‘΄μž¬ν•˜λŠ” κ²½μš°μ—λŠ” ν•΄λ‹Ή νŒŒμΌμ„ 뢈러였고, μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 경우 μ§€μ •ν•œ μ΄λ¦„μœΌλ‘œ μƒˆ λ¦¬μ†ŒμŠ€ νŒŒμΌμ„ μƒμ„±ν•©λ‹ˆλ‹€. 파일 이름을 μƒλž΅ν–ˆμ„ 경우, κΈ°λ³Έ 파일 이름은 my_resource.pyxresμž…λ‹ˆλ‹€.

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 package λͺ…λ ΉμœΌλ‘œ Pyxel μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 파일(.pyxapp)을 μƒμ„±ν•©λ‹ˆλ‹€:

pyxel package APP_DIR STARTUP_SCRIPT_FILE

μ‘μš© ν”„λ‘œκ·Έλž¨μ— λ¦¬μ†ŒμŠ€ λ˜λŠ” μΆ”κ°€ λͺ¨λ“ˆμ΄ ν¬ν•¨λ˜μ–΄μ•Ό ν•˜λŠ” 경우 μ‘μš© ν”„λ‘œκ·Έλž¨ 디렉터리에 λ°°μΉ˜ν•©λ‹ˆλ‹€.

μƒμ„±λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ νŒŒμΌμ€ pyxel play λͺ…λ Ήμ–΄λ‘œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

pyxel play PYXEL_APP_FILE

Pyxel μ‘μš© ν”„λ‘œκ·Έλž¨ νŒŒμΌμ€ pyxel app2exe λ˜λŠ” pyxel app2html λͺ…령을 μ‚¬μš©ν•˜μ—¬ μ‹€ν–‰ 파일 λ˜λŠ” HTML 파일둜 λ³€ν™˜ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

API 레퍼런슀

μ‹œμŠ€ν…œ

  • width, height
    ν™”λ©΄μ˜ κ°€λ‘œ/μ„Έλ‘œ 크기

  • frame_count
    κ²½κ³Όν•œ ν”„λ ˆμž„μ˜ 수

  • init(width, height, [title], [fps], [quit_key], [display_scale], [capture_scale], [capture_sec])
    Pyxel μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν™”λ©΄ 크기 (width, height) 둜 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€. μ˜΅μ…˜μœΌλ‘œ 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) 을 κ°œν–‰μœΌλ‘œ κ΅¬λΆ„ν•œ κ²ƒμž…λ‹ˆλ‹€. νŒ”λ ˆνŠΈ νŒŒμΌμ€ νŒŒμ΄μ…€ νŽΈμ§‘κΈ°μ—μ„œ ν‘œμ‹œλ˜λŠ” 색상을 λ³€κ²½ν•˜λŠ” 데에도 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μž…λ ₯

  • mouse_x, mouse_y
    마우슀 μ»€μ„œμ˜ ν˜„μž¬ μ’Œν‘œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • mouse_wheel
    마우슀 휠의 ν˜„μž¬ 값을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • btn(key)
    keyκ°€ 눌리고 있으면 True, 눌리고 μžˆμ§€ μ•ŠμœΌλ©΄ Falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. (ν‚€ μ •μ˜ 리슀트)

  • btnp(key, [hold], [repeat])
    ν•΄λ‹Ή ν”„λ ˆμž„μ— keyκ°€ 눌리면 True, λˆŒλ¦¬μ§€ μ•ŠμœΌλ©΄ Falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. hold와 repeatλ₯Ό μ§€μ •ν•˜λ©΄, hold ν”„λ ˆμž„ 이상 keyκ°€ 눌린 μƒνƒœμΈ 경우 repeat ν”„λ ˆμž„ κ°„κ²©μœΌλ‘œ Trueλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

  • btnr(key)
    ν•΄λ‹Ή ν”„λ ˆμž„μ— keyκ°€ 떼어지면 True, μ•„λ‹ˆλ©΄ Falseλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

  • mouse(visible)
    visible이 True인 경우 마우슀 μ»€μ„œλ₯Ό ν‘œμ‹œν•˜κ³ , False라면 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 마우슀 μ»€μ„œκ°€ 보이지 μ•Šμ•„λ„ 마우슀 μ»€μ„œμ˜ μ’Œν‘œλŠ” κ°±μ‹ λ©λ‹ˆλ‹€.

κ·Έλž˜ν”½

  • colors
    νŒ”λ ˆνŠΈμ˜ ν‘œμ‹œ 색상 λ¦¬μŠ€νŠΈμž…λ‹ˆλ‹€. ν‘œμ‹œ 색상은 24-bit 숫자 κ°’μœΌλ‘œ μ§€μ •ν•©λ‹ˆλ‹€. colors.from_list 및 colors.to_listλ₯Ό μ‚¬μš©ν•΄ Python 리슀트의 ν˜•νƒœλ‘œ 직접 색상을 μ§€μ •ν•˜κ³  μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    μ˜ˆμ‹œ: old_colors = pyxel.colors.to_list(); pyxel.colors.from_list([0x111111, 0x222222, 0x333333]); pyxel.colors[15] = 0x112233

  • images
    이미지 뱅크 λͺ©λ‘ (0-2). (이미지 클래슀 μ°Έμ‘°)
    μ˜ˆμ‹œ: pyxel.images[0].load(0, 0, "title.png")

  • tilemaps
    타일맡 λͺ©λ‘ (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)
    그리기 μ‹œ 디더링 (μ˜μ‚¬ 투λͺ…도) 을 μ μš©ν•©λ‹ˆλ‹€. 0.0-1.0 λ²”μœ„μ—μ„œ μ•ŒνŒŒλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€ (0.0은 투λͺ…, 1.0은 뢈투λͺ…).

  • cls(col)
    화면을 col μƒ‰μœΌλ‘œ μ§€μ›λ‹ˆλ‹€.

  • pget(x, y)
    (x, y) μ’Œν‘œμ˜ 색상 값을 κ°€μ Έμ˜΅λ‹ˆλ‹€.

  • pset(x, y, col)
    col 색을 μ‚¬μš©ν•΄ (x, y) μ’Œν‘œμ— 픽셀을 κ·Έλ¦½λ‹ˆλ‹€.

  • 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)
    (x, y) μ—μ„œ λ„ˆλΉ„ w, 높이 h 및 색상 col의 타원을 κ·Έλ¦½λ‹ˆλ‹€.

  • ellib(x, y, w, h, col)
    (x, y) μ—μ„œ λ„ˆλΉ„ w, 높이 h 및 색상 col의 타원 μœ€κ³½μ„ μ„ κ·Έλ¦½λ‹ˆλ‹€.

  • 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) μ—μ„œ λ„ˆλΉ„ w, 높이 h 및 색상 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
    μ†Œλ¦¬ λͺ©λ‘ (0-63). (μ‚¬μš΄λ“œ 클래슀 μ°Έμ‘°)
    μ˜ˆμ‹œ: pyxel.sounds[0].speed = 60

  • musics
    μŒμ•… λͺ©λ‘ (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)
    Perlin λ…Έμ΄μ¦ˆμ˜ μ‹œλ“œλ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

  • noise(x, [y], [z])
    μ§€μ •λœ μ’Œν‘œμ— λŒ€ν•œ Perlin λ…Έμ΄μ¦ˆ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

이미지 클래슀

  • 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)
    TMX 파일 (Tiled Map File) μ—μ„œ (x, y) 의 도면 μˆœμ„œ layer(0-) 둜 λ ˆμ΄μ–΄λ₯Ό λ‘œλ“œν•©λ‹ˆλ‹€.

  • pget(x, y)
    (x, y) μ—μ„œ 타일을 κ°€μ Έμ˜΅λ‹ˆλ‹€. 타일은 (tile_x, tile_y)의 νŠœν”Œ ν˜•νƒœμž…λ‹ˆλ‹€.

  • pset(x, y, tile)
    (x, y) 에 tile을 κ·Έλ¦½λ‹ˆλ‹€. 타일은 (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μ΄ˆκ°€ λ©λ‹ˆλ‹€.

  • 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
    채널 μˆ˜κ°€ ν¬ν•¨λœ 2차원 μ‚¬μš΄λ“œ λͺ©λ‘ (0-63)

  • set(seq0, seq1, seq2, ...)
    μ±„λ„μ˜ μ‚¬μš΄λ“œ λͺ©λ‘ (0-63) 을 μ„€μ •ν•©λ‹ˆλ‹€. 빈 λ¦¬μŠ€νŠΈκ°€ μ§€μ •λ˜λ©΄ ν•΄λ‹Ή 채널은 μž¬μƒμ— μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    μ˜ˆμ‹œ: pyxel.musics[0].set([0, 1], [], [3])

κ³ κΈ‰ μ‚¬μš©μžμš© API

Pyxelμ—λŠ” "μ‚¬μš©μžλ₯Ό ν˜Όλž€μŠ€λŸ½κ²Œ ν•  수 μžˆκ±°λ‚˜", "μ‚¬μš©ν•˜λŠ” 데 μ „λ¬Έ 지식이 ν•„μš”ν•¨"의 이유둜 여기에 μ–ΈκΈ‰λ˜μ§€ μ•Šμ€ "κ³ κΈ‰ μ‚¬μš©μžμš© API"κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 것을 λ‹€λ£¨λŠ” 데 λŠ₯μˆ™ν•˜μ‹œλ‹€λ©΄, μ—¬κΈ° λ₯Ό μ°Έκ³ ν•΄ 깜짝 λ†€λž„ λ§Œν•œ μž‘ν’ˆ λ§Œλ“€κΈ°μ— λ„μ „ν•΄λ³΄μ„Έμš”!

κΈ°μ—¬ 방법

문제 보고

였λ₯˜ μ œλ³΄λ‚˜ κΈ°λŠ₯ κ±΄μ˜λŠ” 이슈 트래컀 μ—μ„œ λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€. μƒˆ 이슈λ₯Ό μž‘μ„±ν•˜κΈ° 전에 λΉ„μŠ·ν•œ λ‚΄μš©μ˜ μ΄μŠˆκ°€ μ—†λŠ”μ§€ 확인 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.

맀뉴얼 ν…ŒμŠ€νŒ…

μ½”λ“œλ₯Ό ν…ŒμŠ€νŠΈν•΄ μ£Όμ‹œκ³ , 이슈 트래컀 νŽ˜μ΄μ§€μ—μ„œ 였λ₯˜ μ œλ³΄λ‚˜ κ°œμ„  μ œμ•ˆμ„ ν•΄μ£Όμ‹œλŠ” 뢄듀을 ν™˜μ˜ν•©λ‹ˆλ‹€!

ν’€ λ¦¬ν€˜μŠ€νŠΈ 제좜

νŒ¨μΉ˜λ‚˜ μˆ˜μ • μš”μ²­μ€ ν’€ λ¦¬ν€˜μŠ€νŠΈ (PR) 둜 λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€. μ œμΆœν•˜κΈ° 전에 λ¬Έμ œκ°€ 이미 ν•΄κ²°λ˜μ§€ μ•Šμ•˜λŠ”μ§€ 이슈 트래컀 νŽ˜μ΄μ§€μ—μ„œ 확인 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.

μ œμΆœν•œ ν’€ λ¦¬ν€˜μŠ€νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ 에 따라 κ²Œμ‹œν•˜λŠ” 데 λ™μ˜ν•œ κ²ƒμœΌλ‘œ κ°„μ£Όν•©λ‹ˆλ‹€.

기타 정보

λΌμ΄μ„ μŠ€ 정보

Pyxel은 MIT λΌμ΄μ„ μŠ€ λ₯Ό λ”°λ¦…λ‹ˆλ‹€. μ†Œν”„νŠΈμ›¨μ–΄μ˜ λͺ¨λ“  사본 λ˜λŠ” κ·Έ 상당 뢀뢄에 MIT λΌμ΄μ„ μŠ€ μ‘°ν•­μ˜ 사본 및 μ €μž‘κΆŒ 톡지가 ν¬ν•¨λ˜μ–΄ μžˆλ‹€λ©΄ 독점 μ†Œν”„νŠΈμ›¨μ–΄ λ‚΄μ—μ„œ μž¬μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μŠ€ν°μ„œ λͺ¨μ§‘

Pyxel은 GitHub Sponsorsμ—μ„œ μŠ€ν°μ„œλ₯Ό λͺ¨μ§‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. Pyxel의 μœ μ§€ 보수 및 κΈ°λŠ₯ μΆ”κ°€λ₯Ό μœ„ν•΄ μŠ€ν°μ„œκ°€ λ˜λŠ” 것을 κ³ λ €ν•΄λ³΄μ„Έμš”. μŠ€ν°μ„œκ°€ 되면 ν˜œνƒμœΌλ‘œ Pyxel에 λŒ€ν•œ 상담을 받을 수 μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ μ—¬κΈ° λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.