Created
October 18, 2016 01:16
-
-
Save Dinir/b96d12d03ff7209e89e99369afb55af1 to your computer and use it in GitHub Desktop.
PICO-8 Manual (Korean)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
============================================================================================ | |
PICO-8 v0.1.8 | |
http://www.pico-8.com | |
(c) Copyright 2014-2016 Lexaloffle Games LLP | |
๋ง๋ ์ด: Joseph White // hey@lexaloffle.com | |
์ฎ๊ธด ์ด: Dinir Nertan // DinirNertan@gmail.com | |
PICO-8์ ์๋์ ๊ธฐ์ ๋ก ๋ง๋ค์ด์ก์ต๋๋ค: | |
SDL2 http://www.libsdl.org | |
Lua 5.2 http://www.lua.org // license.txt ๋ฅผ ์ฐธ์กฐ | |
GIFLIB http://giflib.sourceforge.net/ | |
============================================================================================ | |
PICO-8์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค! | |
PICO-8์ ์์ ๊ฒ์์ด๋ ๋ค๋ฅธ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ๊ณต์ ํ๊ณ ์ฆ๊ธธ ์ ์๋ ๊ฐ์ ์ฝ์์ ๋๋ค. | |
๊ธฐ๊ณ๋ฅผ ์ผ๋ฉด ์ฆ์์์ ๋ฃจ์ ํ๋ก๊ทธ๋จ์ ์งค ์ ์๋ ์์ด ๋ํ๋ฉ๋๋ค. ๋ํ ์คํ๋ผ์ดํธ, ๋งต, ์๋ฆฌ๋ฅผ ๋ง๋ค ์ ์๋ ๊ฐ๋จํ ๋นํธ์ธ ํด๋ ์ ๊ณตํฉ๋๋ค. | |
PICO-8์ ๊ฐํนํ ์ ํ ์ฌํญ์ ์์ ์ ์ฌ๋ฏธ๋ฅผ ๋ถ์ฌํ๊ณ , ์์ง๋ง ๋ค์ํ ๊ฒ์ ํํํ ์ ์๋ ๋์์ธ์ ๋ ๋ คํ๋ฉฐ ๋ PICO-8 ์นดํธ๋ฆฌ์ง๊ฐ ๋๋ฆ์ ๋ ํนํ ์ธ๊ด๊ณผ ๋๋์ ๊ฐ์ง ์ ์๊ธธ ๋ฐ๋ผ๋ฉฐ ์กฐ์ฌ์ค๋ฝ๊ฒ ๊ณ ๋ฅธ ๊ฒ์ ๋๋ค. | |
:: ํค | |
์ ์ฒดํ๋ฉด ์ ํ: Alt+Enter | |
๋๊ฐ๊ธฐ: Alt+F4 ๋๋ command-Q | |
๋ค์ ๋ถ๋ฌ์ค๊ธฐ/์คํ/์นดํธ ์ฌ์์: Ctrl+R | |
ํต ์ธ์ด๋ธ: Ctrl+S | |
P: ์ผ์์ ์ง (์คํ ์ค์ผ ๋) | |
ํ๋ ์ด์ด 1 ๊ธฐ๋ณธ ํค: ํ์ดํ ํค + ZX / NM / CV | |
ํ๋ ์ด์ด 2 ๊ธฐ๋ณธ ํค: SDFE + ํญ,Q / shift A | |
// KEYCONFIG ์์ ๊ธฐ๋ณธ ํค๋ฅผ ๋ณ๊ฒฝํ ์ ์์ | |
:: ์คํ | |
๋์คํ๋ ์ด: 128x128, ๊ณ ์ 16์ ํ๋ ํธ | |
์ ๋ ฅ: 6๋ฒํผ | |
์นดํธ๋ฆฌ์ง ์ฉ๋: 32k | |
์๋ฆฌ: 4 ์ฑ๋, 64๊ฐ์ ์ ์ ๊ฐ๋ฅ ์์ | |
์ฝ๋: ๋ฃจ์ (์ต๋ 8192๊ฐ ํ ํฐ) | |
์คํ๋ผ์ดํธ: ๋จ์ผ ๋ฑ ํฌ๋ก 128๊ฐ์ 8x8 ์คํ๋ผ์ดํธ (+128๊ฐ์ ๊ณต์ ์คํ๋ผ์ดํธ) | |
๋งต: 128x32 ์นธ์ 8-๋นํธ ์ (+128x32 ์นธ์ ๊ณต์ ๋งต) | |
:: Hello World | |
PICO-8์ ๋ถํ ํ ๋ค์์, ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์น๊ณ ์ํฐ๋ฅผ ๋๋ฌ๋ณด์ธ์: | |
PRINT("HELLO WORLD") | |
RECTFILL(80,80,120,100,12) | |
CIRCFILL(70,90,20,14) | |
FOR I=1,4 DO PRINT(I) END | |
(์ฐธ๊ณ : PICO-8์์๋ ๋๋ฌธ์ ์์ด๋ง ํ์ํฉ๋๋ค. ์บก์ค ๋ฝ์ ํค์ง ๋ง๊ณ ํ์์ฒ๋ผ ์ณ๋ณด์ธ์!) | |
์ฝ๋ ํธ์ง ๋ชจ๋์์ ์ด๋ฐ ๋ช ๋ น์ด๋ค๊ณผ ๋ณ๋๋ก ์ ๊ณต๋๋ ๋ ๊ฐ์ ํน๋ณํ ์ฝ๋ฐฑ ํจ์ _update, _draw ๋ฅผ ํ์ฉํด์ ๋ํํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด, ์๋์ ํ๋ก๊ทธ๋จ์ ์ปค์ ํค๋ฅผ ํตํด ๋๊ทธ๋ผ๋ฏธ๋ฅผ ์์ง์ผ ์ ์๊ฒ ํด์ค๋๋ค. ESC ํค๋ฅผ ๋๋ฌ ์ฝ๋ ํธ์ง๊ธฐ๋ก ๋ค์ด๊ฐ ๋ค์, ์๋์ ์ฝ๋๋ฅผ ์ง์ ์ ๋ ฅํ๊ฑฐ๋ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ ํด๋ณด์ธ์: | |
X = 64 Y = 64 | |
FUNCTION _UPDATE() | |
IF (BTN(0)) THEN X=X-1 END | |
IF (BTN(1)) THEN X=X+1 END | |
IF (BTN(2)) THEN Y=Y-1 END | |
IF (BTN(3)) THEN Y=Y+1 END | |
END | |
FUNCTION _DRAW() | |
RECTFILL(0,0,127,127,5) | |
CIRCFILL(X,Y,7,8) | |
END | |
์ด์ ESC๋ฅผ ๋ค์ ๋๋ฌ ๋ฉ์ธ ์ฝ์ ํ๋ฉด์ผ๋ก ๋์์์, RUN ์ ์ ๋ ฅํด์ ์ค์ ๋ก ์๋๋๋ ๋ชจ์ต์ ๋ณด์ธ์. | |
๋ ๋ณต์กํ ํ๋ก๊ทธ๋จ์ ๋ฐ๊ณ ์ถ์ผ์๋ค๋ฉด ์์ ์นดํธ๋ฆฌ์ง๋ฅผ ์ฐธ์กฐํ์ธ์. | |
:: ์์ ์นดํธ๋ฆฌ์ง | |
์๋์ ์นดํธ๋ฆฌ์ง๋ค์ PICO-8์ ํฌํจ๋์ด ์์ผ๋ฉฐ ๋ค์์ ๋ช ๋ น์ด๋ฅผ ํตํด ์ค์นํ ์ ์์ต๋๋ค: | |
INSTALL_DEMOS | |
CD DEMOS | |
API PICO-8์์ ์ง์ํ๋ ํจ์ ๋๋ถ๋ถ์ ๋ํ ๋ฐ๋ชจ | |
JELPI 2์ธ ํ๋ ์ด๋ฅผ ์ง์ํ๋ ํ๋ซํผ ๊ฒ์ ๋ฐ๋ชจ | |
CAST 2.5D ๋ ์ด์บ์คํฐ ๋ฐ๋ชจ | |
MANDEL ๋ง๋ธ๋ธ๋กํธ ํ์๊ธฐ | |
COLLIDE ๋ฒฝ-์บ๋ฆญํฐ ๊ฐ ์ถฉ๋ ์์ | |
BUTTERFLY ์์๋ฅดํ์คํค ์ผ๊ฐํ | |
DRIPPY ํ๋ฌ๋ด๋ฆฌ๋ ์ ๊ทธ๋ฆฌ๊ธฐ | |
STOMPY ์์ ์นดํธ๋ฆฌ์ง | |
WOO ์์ ์นดํธ๋ฆฌ์ง | |
์นดํธ๋ฆฌ์ง๋ฅผ ์คํํ๊ธฐ ์ํด์๋, PICO-8์ ์ด๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํฉ๋๋ค: | |
LOAD JELPI | |
RUN | |
ESC๋ฅผ ๋๋ฌ์ ํ๋ก๊ทธ๋จ์ ๋ฉ์ถ๊ณ , ํ ๋ฒ ๋ ๋๋ฌ์ ํธ์ง ๋ชจ๋๋ก ๋ค์ด๊ฐ๋ณด์ธ์. | |
:: ํ์ผ์์คํ | |
๋ค์์ ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ(ํด๋)๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค: | |
DIR ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ๋ด์ฉ์ ํ์ | |
CD BLAH ๋๋ ํฐ๋ฆฌ ๋ณ๊ฒฝ | |
CD .. ์์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ | |
CD / (PICO-8 ๊ฐ์ ๋๋ผ์ด๋ธ ๋ด์) ์ต์์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ | |
MKDIR ๋๋ ํฐ๋ฆฌ ์์ฑ | |
FOLDER ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ํธ์คํธ OS์ ํ์ผ ๋ธ๋ผ์ฐ์ ์์ ์ด๊ธฐ | |
LOAD BLAH ํ์ฌ ๋๋ ํฐ๋ฆฌ์์ ์นดํธ ๋ถ๋ฌ์ค๊ธฐ | |
SAVE BLAH ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ์นดํธ ์ ์ฅํ๊ธฐ | |
ํ์ผ์ ์ฎ๊ธฐ๊ฑฐ๋ ๋ณต์ฌ ๋๋ ์ญ์ ๋ฅผ ํด์ผ ํ ๊ฒฝ์ฐ์, FOLDER ๋ช ๋ น์ด๋ฅผ ํตํด์ ํธ์คํธ OS ๋ด์์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. | |
PICO-8์ ๊ธฐ๋ณธ ์์น๋ ์๋์ ๊ฐ์ต๋๋ค: | |
Windows: C:/Users/์ฌ์ฉ์์ด๋ฆ/AppData/Roaming/pico-8/carts | |
OSX: /Users/์ฌ์ฉ์์ด๋ฆ/Library/Application Support/pico-8/carts | |
Linux: ~/.lexaloffle/pico-8/carts | |
๊ธฐ๋ณธ ์์น์ ๊ธฐํ ์ค์ ์ pico-8/config.txt์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. | |
ํ: Dropbox๋ฅผ ์ฌ์ฉํ์๋ ๋ถ์ด๋ผ๋ฉด, ๋๋ผ์ด๋ธ ์์น๋ฅผ Dropbox ๊ณต์ ํด๋ ๋ด์ ์ค์ ํ์ฌ ํ๋์ ๋์คํฌ๋ฅผ ์ฌ๋ฌ ๋์ ์ปดํจํฐ์ ์ค์น๋ PICO-8์ ์ ๊ณตํ ์ ์์ต๋๋ค. | |
:: ๋ฐฑ์ | |
๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ์ง ์๊ณ ๋๊ฐ์ ๊ฒฝ์ฐ๋ ์กด์ฌํ๋ ํ์ผ์ ๋ฎ์ด์์ ์ ๊ฒฝ์ฐ, pico-8/backup์ ํด๋น ์นดํธ๋ฆฌ์ง์ ๋ฐฑ์ ์ด ์์ฑ๋ฉ๋๋ค. | |
:: ์ค์ | |
:: config.txt | |
config.txt์์ ๋ช ๊ฐ์ง ์ค์ ์ ์ฐพ์๋ณผ ์ ์์ต๋๋ค. PICO-8์ ์คํํ์ง ์์ ์ํ์์ ์์ ํ์ธ์. | |
Windows: C:/Users/์ฌ์ฉ์์ด๋ฆ/AppData/Roaming/pico-8/config.txt | |
OSX: /Users/์ฌ์ฉ์์ด๋ฆ/Library/Application Support/pico-8/config.txt | |
Linux: ~/.lexaloffle/pico-8/config.txt | |
-home ์ค์์น(์๋ ์ฐธ์กฐ)๋ฅผ ์ด์ฉํด์ config.txt๋ฅผ ๋น๋กฏํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์ ์ฅํ์ธ์. | |
:: ์ปค๋งจ๋๋ผ์ธ ํ๋ผ๋ฏธํฐ | |
// ์ฐธ๊ณ : ์๋์ ํ๋ผ๋ฏธํฐ๋ config.txt ์ ์ ์ฅ๋ ์ธํ ๋ณด๋ค ์ฐ์ ํจ | |
pico-8 [์ค์์น] [ํ์ผ์ด๋ฆ.p8] | |
-run ์คํ๊ณผ ๋์์ ํ์ผ์ด๋ฆ.p8์ ๊ตฌ๋ | |
-width n ์๋์ฐ๋ ํ๋ฉด์ ๋๋น๋ฅผ ์ ํ๊ณ ์ค์ผ์ผ์ด ์ง์ ๋์ง ์์์ ๊ฒฝ์ฐ ํ๋ฉด์ ๋ง๊ฒ ์ค์ผ์ผ์ ์กฐ์ | |
-height n ์๋์ฐ๋ ํ๋ฉด์ ๋์ด๋ฅผ ์ ํ๊ณ ์ค์ผ์ผ์ด ์ง์ ๋์ง ์์์ ๊ฒฝ์ฐ ํ๋ฉด์ ๋ง๊ฒ ์ค์ผ์ผ์ ์กฐ์ | |
-scale n PICO-8์์ ํ์ํ ํฝ์ ์ ์ค์ผ์ผ ์กฐ์ . "-scale 3" ์ ์ ๋ ฅํ๋ฉด ๊ฐ๊ฐ์ ํฝ์ ์ 3x3 ์ฌ์ด์ฆ๋ก ํ์ | |
-windowed n ์ฐฝ๋ชจ๋๋ฅผ ๋๊ฑฐ๋(0) ์ผ๊ธฐ(1) | |
-sound n ์๋ฆฌ ํฌ๊ธฐ 0..256 | |
-music n ์์ ํฌ๊ธฐ 0..256 | |
-joystick n ์กฐ์ด์คํฑ ์ปจํธ๋กค์ n ๋ฒ์งธ ํ๋ ์ด์ด์ ์ ๋ ฅ์ผ๋ก ๋ฐ์๋ค์ ๋๋ค (0..7) | |
-aspect n ํ๋ฉด ๋น์จ ์ค์ . 420 = 1:1(๊ธฐ๋ณธ), 560 = 4:3, 525 = 5:4. | |
-run filename ์๋์ผ๋ก ํด๋น ์นดํธ๋ฆฌ์ง๋ฅผ ๋ถ๋ฌ์ ๊ตฌ๋ | |
-splore splore ๋ชจ๋๋ก ์คํ | |
-home path config.txt๋ฅผ ๋น๋กฏํ ๋ค๋ฅธ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ฒฝ๋ก๋ฅผ ์ค์ | |
-gif_len n ์ต๋ gif ๊ธธ์ด๋ฅผ ์ด ๋จ์๋ก ์ค์ (1..120) | |
:: ์ปจํธ๋กค๋ฌ ์ค์ | |
PICO-8์ SDL2 ์ปจํธ๋กค๋ฌ ์คํค๋ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ตฌ๋ ์์ ์๋ ค์ง ์ปจํธ๋กค๋ฌ๋ฅผ ๊ฐ์งํ๊ณ , config.txt๊ฐ ์๋ ํด๋์ ๋ค์ด์๋ sdl_controllers.txt์ ์ปค์คํ ๋งตํ์ด ์๋์ง ๋ํ ์ฐพ์๋ด ๋๋ค sdl_controllers.txt ๋ ํ ์ค์ ํ ๊ฐ์ ๋งตํ์ ๋ด๊ณ ์์ต๋๋ค. | |
์ฌ์ฉํ์๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์ํ ์ปค์คํ ๋งตํ์ ๋ง๋์๋ ค๋ฉด, SDL2์ ๋ธ๋ ค์ค๋ ์ปจํธ๋กค๋งต ํ๋ก๊ทธ๋จ์ ์ฐ๊ฑฐ๋, ์ฌ๊ธฐ๋ฅผ ํ์ฉํด๋ณด์ธ์. http://www.generalarcade.com/gamepadtool/ | |
ํค๋ณด๋ ํค์ ๋งตํ์ ๋ณ๊ฒฝํ์๋ ค๋ฉด, KEYCONFIG ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ธ์. | |
:: ์นดํธ๋ฆฌ์ง ๊ณต์ ํ๊ธฐ / HTML5๋ก ๋ด๋ณด๋ด๊ธฐ | |
์นดํธ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ ์ธ ๊ฐ์ง๊ฐ ์์ต๋๋ค: | |
1. .p8 ์ด๋ .p8.png ํ์ผ์ ๋ค๋ฅธ PICO-8 ์ฌ์ฉ์์ ์ง์ ๊ณต์ ํ๊ธฐ | |
2. Lexaloffle ๊ฒ์ํ์ ์ฌ๋ ค ์น ๋ฒ์ ์ ์ป๊ธฐ | |
http://www.lexaloffle.com/pico-8.php?page=submit | |
save() ๋ฅผ ์ฐธ์กฐํ์ฌ ์ด๋ป๊ฒ .p8.png ๋ฅผ ๋ง๋๋์ง ์์๋ณด์ธ์. (.png๋ก ๊ฒ์) | |
3. ์นดํธ๋ฆฌ์ง๋ฅผ ์คํ ๋์ผ๋ก HTML5 ๋ฒ์ ์ผ๋ก ๋ด๋ณด๋ด๊ธฐ: | |
EXPORT FOO.HTML | |
์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋ ๊ฐ์ ํ์ผ์ด ๋ง๋ค์ด์ง๋๋ค: foo.html๊ณผ foo.js (๋ ๋ค ํ์ํฉ๋๋ค!) | |
์ถ์ถํ ์นดํธ๋ฆฌ์ง์ ๋ฐฐํฌ์ ์ฌ์ฉ์ ์ ์์์ ๊ธฐ์ฌ์์ ํ๊ฐ ์๋์ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
.html ํ์ผ์ ์์ ๋กญ๊ฒ ์์ ๊ฐ๋ฅํ ๊ธฐ๋ณธ ํ ํ๋ฆฟ์ผ๋ก์ ๋ง๋ค์ด์ก์ต๋๋ค. ์ค์ ์ ์กฐ์ ํ ์ ์๋ ๋ฒํผ ๋ช ๊ฐ์ ์ธ๋ถ ์ฌ์ดํธ ๋งํฌ (๊ธฐ๋ณธ์ ์ผ๋ก PICO-8 ๊ฒ์ํ) ๋ฅผ ํฌํจํ๋ฉฐ, ๊ฒ์ ํ๋ ์ด ์ค์ ํ๋ฉด์ด ์คํฌ๋กค๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ ํฌํจ๋์ด ์์ต๋๋ค. | |
ํ๋ ์ด์ด์ ๋๋น์ ๋์ด ๋ํ ์กฐ์ ํ ์ ์์ง๋ง, ๋ณดํต ํ๋ฉด์ด ํ์๋๋ ์บ๋ฒ์ค ํฌ๊ธฐ์ ๋ง์ถ์ด์ผ ํ๋ค๋ ์ ์ ์ฐธ๊ณ ํ์ธ์ (๊ธฐ๋ณธ๊ฐ์ 580,540). | |
:: ์คํฌ๋ฆฐ์ท, ๋น๋์ค, ์นดํธ๋ฆฌ์ง ๋ผ๋ฒจ | |
์นดํธ๋ฆฌ์ง๋ฅผ ์คํ ์ค์ผ ๋ ์ฌ์ฉํด๋ณด์ธ์: | |
F6 ๋ฐํํ๋ฉด์ ์คํฌ๋ฆฐ์ท์ ์ ์ฅ | |
F7 ์นดํธ๋ฆฌ์ง ๋ผ๋ฒจ ์ด๋ฏธ์ง๋ฅผ ์บก์ณ | |
F8 ๋น๋์ค ๋ นํ ์์ | |
F9 ๋ฐํํ๋ฉด์ GIF ๋น๋์ค๋ฅผ ์ ์ฅ (์ต๋: ๊ธฐ๋ณธ๊ฐ 8์ด) | |
// F6..F9๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ฉด F1..F4๋ฅผ ์ฌ์ฉ | |
์นดํธ๋ฆฌ์ง ๋ผ๋ฒจ์ save() ๋ฅผ ์ฌ์ฉํด์ p8.png๋ก ์ ์ฅํ ๋ ์ ์ฅ๋ฉ๋๋ค. | |
๋น๋์ค ์ ์ฅ์ ์๋ฌด๋๋ ํ ์ ์์ต๋๋ค (ํญ์ ๋ นํ์ค์ ๋๋ค) -- F8์ ๋๋ฅด๋ฉด ๋ นํ ์์ ์์ ์ ๋ฆฌ์ ํด์ 8์ด ์ดํ์ ๋น๋์ค๋ฅผ ์ป์ ์ ์์ต๋๋ค. | |
GIF์ ์ต๋ ๊ธธ์ด๋ฅผ ๋ฐ๊พธ๋ ค๋ฉด, config.txt์ gif_len ๊ฐ์ ์ํ๋ ์ด ๋จ์์ ์ซ์๋ก ๋ฐ๊ฟ์ฃผ์ธ์. GIF ํ์์์ 30fps๋ฅผ ์ ํํ๊ฒ ๋ง์ถ ์ ์๊ธฐ ๋๋ฌธ์, PICO-8์์๋ ๋์ ๊ฐ์ฅ ๊ทผ์ฌํ ๊ฐ์ธ 33.3fps๋ฅผ ์ฌ์ฉํฉ๋๋ค. | |
:: ๋ด๋ณด๋ด๊ธฐ / ๊ฐ์ ธ์ค๊ธฐ | |
1. ์คํ๋ผ์ดํธ ์ํธ๋ฅผ .png ํ์์ผ๋ก ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ด๋ณด๋ด๋ ค๋ฉด: | |
import("blah.png") -- 128x128 ์ pico-8 ํ๋ ํธ์ ๋ง์ถ png ํ์ผ๋ก ๊ฐ์ ธ์ด | |
export("blah.png") -- ์ถ์ถํ png๋ฅผ ํ์ธํ๋ ค๋ฉด folder()๋ฅผ ์ฌ์ฉ | |
2. ํจ๊ณผ์์ด๋ ์์ ์ ์ถ์ถํ๋ ค๋ฉด: | |
export("blah.wav") -- ํ์ฌ ํจํด์ ์์ ์ ๋ด๋ณด๋ด๊ธฐ(์์ ํธ์ง ๋ชจ๋์ผ ๋) | |
export("blah.wav") -- ํ์ฌ SFX๋ฅผ ๋ด๋ณด๋ด๊ธฐ(SFX ํธ์ง ๋ชจ๋์ผ ๋) | |
export("blah%d.wav") -- ๋ชจ๋ SFX๋ฅผ blah0.wav, blah1.wav .. blah63.wav ๋ก ๋ด๋ณด๋ด๊ธฐ | |
// ๋ช ๋ น์ด ์ ๋ ฅ ์ฐฝ์์๋ ๊ดํธ์ ๋ฐ์ดํ๋ฅผ ์๋ตํ ์ ์์: EXPORT BLAH.WAV | |
:: PICO-8์ ํน์ง | |
์ฃผ์ํด์ผ ํ ์๋ ค์ง ํน์ง๋ค: | |
- ์คํ๋ผ์ดํธ ์ํธ์ ๋งต์ ์๋์ชฝ ์ ๋ฐ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํฉ๋๋ค. | |
// ์ด๋ค ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ์๋์ชฝ ์ ๋ฐ์ ํ ์ชฝ์์๋ง ์ฌ์ฉํ ๊ฒ | |
- PICO-8์์ ์ซ์๋ 32767.99๊น์ง๋ง ์ฌ๋ผ๊ฐ๋๋ค. | |
// ๋งค ํ๋ ์๋ง๋ค 1์ฉ ์ฌ๋ผ๊ฐ๋ ์นด์ดํฐ๋ฅผ ์คํญํ๋ฉด, ์ฝ 18๋ถ ํ์ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํจ! | |
- Lua ๋ฐฐ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก 0-based๊ฐ ์๋ 1-based์ ๋๋ค. FOREACH ๋ T[0]์ด ์๋ T[1]๋ถํฐ ์์ํฉ๋๋ค. | |
- cos()์ sin()๋ 0..PI*2 ๋์ 0..1 ๊ฐ์ ๋ฐ์ต๋๋ค. ๋ํ sin()๋ ๋ค์งํ ์์ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค. | |
- sgn(0) ์ 1์ ์ถ๋ ฅํฉ๋๋ค. | |
- ์ ์ฒดํ๋ฉด ์ ํ: OSX์์๋ alt-enter๋ฅผ ์ฌ์ฉํ์ธ์ (command-F ๋ ํ ์คํธ ๊ฒ์์ ์ฐ์ ๋๋ค). | |
- .png ํ์์ผ๋ก ์นดํธ๋ฆฌ์ง๋ฅผ ์ถ์ถํ๋ ค๋ฉด, EXPORT๋ง๊ณ SAVE๋ฅผ ์ฌ์ฉํ์ธ์. EXPORT๋ ์คํ๋ผ์ดํธ ์ํธ๋ง์ ์ ์ฅํฉ๋๋ค! | |
:: Splore | |
SPLORE๋ ๋ก์ปฌ ๊ณต๊ฐ์ด๋ ๊ฒ์ํ(์จ๋ผ์ธ)์์ ์นดํธ๋ฆฌ์ง๋ฅผ ์ฐพ์์ ์ ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ ๋นํธ์ธ ๋๊ตฌ์ ๋๋ค. SPLORE [enter]๋ก ์คํํ๊ฑฐ๋, PICO-8์ -splore๋ฅผ ๋ถ์ฌ์ ์คํํ์ธ์. | |
SPLORE๋ฅผ ์ปจํธ๋กค๋ฌ๋ก๋ง ์กฐ์ํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค: | |
LEFT์ RIGHT๋ก ์นดํธ๋ฆฌ์ง ๋ฆฌ์คํธ๋ฅผ ๋ฐ๊พธ๊ธฐ | |
UP๊ณผ DOWN์ผ๋ก ๋ฆฌ์คํธ ์์ ํญ๋ชฉ์ ์ ํ | |
X,O ๋ MENU๋ก ์นดํธ๋ฆฌ์ง๋ฅผ ์คํ | |
์นดํธ๋ฆฌ์ง ์คํ ์ค์ MENU๋ฅผ ๋๋ฌ์ ์ฆ๊ฒจ์ฐพ๊ธฐ์ ์ถ๊ฐํ๊ฑฐ๋ splore๋ก ๋๊ฐ์ธ์. | |
ํค๋ณด๋๋ฅผ ์ฌ์ฉํ ๋๋ ์นดํธ๋ฆฌ์ง ๋ฆฌ์คํธ์์ F๋ฅผ ๋๋ฌ, ์ ํ๋ ์นดํธ๋ฆฌ์ง๋ฅผ ์ฆ๊ฒจ์ฐพ๊ธฐ์ ์ถ๊ฐํ ์๋ ์์ต๋๋ค. | |
๊ฒ์ํ ์นดํธ๋ฆฌ์ง ๋ฆฌ์คํธ์์ ์ต์์ ํญ๋ชฉ์ ์ ํํด ๋ฆฌ์คํธ๋ฅผ ๊ฐฑ์ ํ์ธ์. ์คํ๋ผ์ธ ์ํ์ผ ๊ฒฝ์ฐ๋ ๋ง์ง๋ง์ผ๋ก ๊ฐฑ์ ๋ ๋ฆฌ์คํธ๊ฐ ๋ํ๋๋ฉฐ, ๋ค์ด๋ก๋ํ ์นดํธ๋ฆฌ์ง๋ฅผ ํ๋ ์ดํ ์ ์์ต๋๋ค. | |
์ธํฐ๋ท ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ๊ธฐ๊ณ์ PICO-8์ ์ค์นํ์ ๊ฒฝ์ฐ์๋, INSTALL_GAMES ๋ฅผ ํตํด ์ฌ์ ์ ์ค์น๋ ๊ฒ์ํ ์นดํธ๋ฆฌ์ง ์ผ๋ถ๋ฅผ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชฉ๋ก์ ์ถ๊ฐํ ์ ์์ต๋๋ค. | |
============================================================================================ | |
ํธ์ง ๋ชจ๋ | |
============================================================================================ | |
ESC๋ฅผ ๋๋ฌ์ ์ฝ์๊ณผ ํธ์ง๊ธฐ ์ฌ์ด๋ฅผ ์ ํํ์ธ์ | |
์ฐ์ธก ์๋จ์ ํธ์ง ๋ชจ๋ ํญ์ ํด๋ฆญํ๊ฑฐ๋ ALT+LEFT/RIGHT๋ก ํธ์ง ๋ชจ๋ ์ฌ์ด๋ฅผ ์ ํํ์ธ์ | |
** ๊ฒฝ๊ณ : ์คํ๋ผ์ดํธ ์ํธ์ ์ ๋ฐ (๋ฑ ํฌ 2, 3)๊ณผ ๋งต์ ์๋์ชฝ ์ ๋ฐ์ ์นดํธ๋ฆฌ์ง ๋ด์์ ๊ฐ์ ๊ณต๊ฐ์ ์๋๋ค. ์ด ๊ณต๊ฐ์ ์ด๋ป๊ฒ ์ธ์ง๋ ๋น์ ์ ์์ ์ง๋ง, ํ์ชฝ์ ํธ์งํ๋ฉด์ ๊ทธ๋ฆฐ ๋ด์ฉ์ด ๋ค๋ฅธ ์ชฝ์ ์ฒ์ฐธํ ์ํฅ์ ๋ผ์น ์ ์์์ ์ผ๋ํด๋์๊ธฐ ๋ฐ๋๋๋ค | |
:: ์ฝ๋ ํธ์ง๊ธฐ | |
shift๋ฅผ ๋๋ฅธ ์ฑ๋ก ์ ํ (ํน์ ๋ง์ฐ์ค๋ก ํด๋ฆญํด์ ๋๋๊ทธ) | |
CTRL-X, C, V ์ ํ ์์ญ์ ์๋ฅด๊ฑฐ๋ ๋ณต์ฌํ๊ณ ๋ถ์ฌ๋ฃ๊ธฐ | |
CTRL-Z, Y ์ทจ์, ์ฌ์คํ | |
CTRL-F ๋ฌธ์์ด ๊ฒ์ | |
CTRL-G ์ด์ ๊ฒ์์ ๋ฐ๋ณต | |
ALT-UP, DOWN ์ด์ /๋ค์ ํจ์๋ก ์ด๋ | |
์ฝ๋ ํธ์ง๊ธฐ์ ์ฐ์ธก ํ๋จ์์ ํ ํฐ ์ฌ์ฉ๋์ ํ์ธํ ์ ์์ต๋๋ค. ํ๋์ ํ๋ก๊ทธ๋จ์ ์ต๋ 8192๊ฐ์ ํ ํฐ์ ๊ฐ์ง ์ ์์ต๋๋ค. ๊ฐ ํ ํฐ์ ๋จ์ด(๋ณ์ ๋ช ) ํน์ ์คํผ๋ ์ดํฐ์ผ ์ ์์ต๋๋ค. ๊ดํธ ์์ด๋ ๋ฌธ์์ด์ 1๊ฐ์ ํ ํฐ์ผ๋ก ์ทจ๊ธํฉ๋๋ค. ์ผํ, ๋ง์นจํ, LOCAL, ์ธ๋ฏธ์ฝ๋ก , END, ์ฃผ์์ ํ ํฐ์ผ๋ก ์ทจ๊ธํ์ง ์์ต๋๋ค. | |
๋ฒํผ์ ์๋ฏธํ๋ ํน์๊ธฐํธ๋ฅผ ์ ๋ ฅํ๋ ค๋ฉด SHIFT-L,R,U,D,O,X๋ฅผ ์ฌ์ฉํ์ธ์. | |
:: ์คํ๋ผ์ดํธ ํธ์ง๊ธฐ | |
์คํ๋ผ์ดํธ ํธ์ง๊ธฐ๋ ์คํ๋ผ์ดํธ ์์ค์ ํธ์ง์ด๋ ํฝ์ ์์ค์ ํธ์ง ๋ชจ๋์ ์ฌ์ฉ๋ ์ ์๊ฒ ๋ง๋ค์ด์ก์ต๋๋ค. ํ๋ฉด ์๋์ ๋ด๋น๊ฒ์ดํฐ๋ ์คํ๋ผ์ดํธ์ํธ๋ฅผ 8x8 ๋จ์๋ก ๋ณผ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ๋ํ ์์ ํํfreeform ๋๊ตฌ(pan, select)์ ์ด์ฉํ๋ฉด ๋ ํฐ ์ง์ญ์ ํธ์งํ ์ ์์ต๋๋ค. | |
๊ทธ๋ฆฌ๊ธฐ ๋๊ตฌ | |
ํด๋ฆญ๊ณผ ๋๋๊ทธ๋ก ํธ์ง | |
๋ณด์ฌ์ง๋ ์์ญ์ ์ ์ฉ | |
CTRL์ ๋๋ฌ ์์ ์ฐพ์ ๋ฐ๊พธ๊ธฐ | |
๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํผ์ผ๋ก ์์ ์ ํ | |
์คํฌํ ๋๊ตฌ | |
์คํฌํ ์์ ์ ์ฅ๋ ๊ฒ์ ์ฐ์ด๋ด๊ธฐ | |
LCONTROL์ ๋๋ฌ ํฌ๋ช ๋๋ฅผ ๋ฐ์ํด ์ฐ๊ธฐ | |
์ ํ ๋๊ตฌ // ๋จ์ถํค: LSHIFT, S | |
์ ํ ์์ญ ๋ง๋ค๊ธฐ | |
Enter๋ ํด๋ฆญ์ผ๋ก ์ ํ ์ทจ์ | |
ํฝ์ ์์ค์ ์ ํ ์์ญ์ด ์์ ๊ฒฝ์ฐ, ๋๋ถ๋ถ์ ์์ ์ ์คํ๋ผ์ดํธ ์์ค์ ์ ํ ์์ญ์ ์ ์ฉ๋ฉ๋๋ค. ์คํ๋ผ์ดํธ๋ฅผ ์ ํํ๋ ค๋ฉด, ์คํ๋ผ์ดํธ ๋ด๋น๊ฒ์ดํฐ์์ shift-๋๋๊ทธ๋ฅผ ํ์ธ์. | |
ํฌ ๋๊ตฌ // ๋จ์ถํค: space | |
์คํ๋ผ์ดํธ ์ํธ ๋ณด๊ธฐ | |
์ฑ์ฐ๊ธฐ ํด | |
ํ์ฌ ์ ํ ์์์ผ๋ก ์ฑ์ฐ๊ธฐ | |
ํ์ฌ ์ ํ ์์ญ์ ์ ์ฉ | |
์ ํ ์์ญ์ด ์์ ๊ฒฝ์ฐ, ๋ณด์ฌ์ง๋ ์์ญ์ ์ ์ฉ | |
์ถ๊ฐ ํค | |
CTRL-Z ์ทจ์ // 0.2.0 ํ์ฌ ํ ๋จ๊ณ๋ง ๊ฐ๋ฅ | |
CTRL-C ์ ํ ์์ญ์ด๋ ์คํ๋ผ์ดํธ ๋ณต์ฌ | |
CTRL-V ํ์ฌ ์คํ๋ผ์ดํธ ์์น์ ๋ถ์ฌ๋ฃ๊ธฐ | |
Q,W ์ด์ /๋ค์ ์คํ๋ผ์ดํธ๋ก | |
1,2 ์ด์ /๋ค์ ์์ผ๋ก | |
Tab ์ ์ฒดํ๋ฉด ๋ณด๊ธฐ๋ก ์ ํ | |
Mousewheel ํ๋/์ถ์ (์ ์ฒดํ๋ฉด์์ ๊ฐ์ด๋ฐ ์ง์ ์ ๊ธฐ์ค์ผ๋ก ์ ์ฉ) | |
์ ํ ์์ญ/์คํ๋ผ์ดํธ์ ๋ํ ์์ | |
f ๋ค์ง๊ธฐ | |
v ์ํ๋ก ๋ค์ง๊ธฐ | |
r ํ์ (์ ํ ์์ญ์ด ์ ์ฌ๊ฐํ์ด์ด์ผ ํจ) | |
์ปค์ ํค๋ก ์ด๋ (์ ํ์ด ์คํ๋ผ์ดํธ์ผ ๊ฒฝ์ฐ ์ํ) | |
์คํ๋ผ์ดํธ ํ๋๊ทธ | |
8๊ฐ์ ์์ ํ์ฌ ์คํ๋ผ์ดํธ์ ๋ํ ์คํ๋ผ์ดํธ ํ๋๊ทธ๋ฅผ ๋ํ๋ ๋๋ค. | |
๊ฐ๊ฐ true(on) ๋๋ false(off) ์ํ๋ฅผ ์ง๋ ์ ์์ผ๋ฉฐ, FSET, FGET ํจ์๋ฅผ ํตํด ์ด๋ค ๊ฐ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ํ๋๊ทธ์ ๋ฒํธ๋ ์ผ์ชฝ๋ถํฐ 0,1,2..7 ์ ๋๋ค. fset() ํญ๋ชฉ์ ์ฐธ์กฐํ์ธ์. | |
:: ๋งต ํธ์ง๊ธฐ | |
pico-8 ๋งต์ 128x32 (ํน์ ๊ณต์ ๊ณต๊ฐ์ ํฌํจํ์ ๊ฒฝ์ฐ 128x64) ๊ฐ์ 8๋นํธ ๊ฐ ๋ธ๋ก์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. | |
๊ฐ๊ฐ์ ๊ฐ์ ํธ์ง๊ธฐ์์ ์คํ๋ผ์ดํธ(0..255)๋ก ํ์๋ฉ๋๋ค. ์ด ๊ฐ๋ค๋ก ์ด๋ค ๊ฒ์ ํ์ํ ๊ฒ์ธ๊ฐ๋ ๋ฌผ๋ก ๋น์ ์ ์์ ์ ๋๋ค. | |
๋งต ํธ์ง๊ธฐ์์ ์ ๊ณตํ๋ ๋๊ตฌ๋ค์ ์คํ๋ผ์ดํธ ํธ์ง๊ธฐ์ ์ ์ฌํฉ๋๋ค. ์คํ๋ผ์ดํธ๋ฅผ ์ ํํ ๋ค์ ํด๋ฆญํ๊ณ ๋๋๊ทธํด์ ๋งต์ ๊ฐ์ ์น ํ์ธ์. | |
์ฌ๋ฌ ๊ฐ์ ์คํ๋ผ์ดํธ๋ฅผ ๊ทธ๋ฆฌ๋ ค๋ฉด, ์คํ๋ผ์ดํธ ๋ด๋น๊ฒ์ดํฐ์์ shift+๋๋๊ทธ๋ก ๋ธ๋ก์ ๋ง๋ค์ด ์ ํํ์ธ์. | |
๋ธ๋ก ๋จ์๋ก ๊ฐ์ ๋ณต์ฌํ๋ ค๋ฉด, ์ ํ ๋๊ตฌ๋ฅผ ์ด ๋ค์ ์คํฌํ ๋๊ตฌ๋ฅผ ์จ์ ๋ถ์ฌ๋ฃ์ผ์ธ์. | |
๋งต ์ฃผ๋ณ์ ๋๋ฌ๋ณด๋ ค๋ฉด, ํฌ ๋๊ตฌ๋ฅผ ์ฐ๊ฑฐ๋ space๋ฅผ ๋๋ฅด์ธ์. | |
Q,W ๋ก ์ด์ /๋ค์ ์คํ๋ผ์ดํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. | |
:: SFX ํธ์ง๊ธฐ | |
ํ ์นดํธ๋ฆฌ์ง์๋ 64๊ฐ์ SFX("ํจ๊ณผ์")์ ๋ด์ ์ ์์ต๋๋ค. ํจ๊ณผ์์ผ๋ก ํน์ ์์ ์ผ๋ก ์ธ ์ ์์ต๋๋ค. | |
๊ฐ SFX๋ 32๊ฐ์ ๋ ธํธ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ฐ๊ฐ์ ๋ ธํธ๋ ๋ค์์ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ์ต๋๋ค: | |
์ฃผํ์ (C0..C5) | |
์ ๊ธฐ (0..7) | |
๋ณผ๋ฅจ (0..7) | |
ํจ๊ณผ (0..7) | |
๊ฐ SFX๋ ๋ค์๊ณผ ๊ฐ์ ์์ฑ๋ ๊ฐ์ง๋๋ค: | |
์ฌ์ ์๋ (SPD) : ๊ฐ ๋ ธํธ๋ฅผ ํ๋ ์ดํ๋๋ฐ ๊ฑธ๋ฆฌ๋ 'ํฑ'์ ์์ ๋๋ค. | |
// 1 ์ ๋น ๋ฅด๊ณ , 3์ 1๋ณด๋ค 3๋ฐฐ ๋๋ฆผ | |
๋ฃจํ์ ์์๊ณผ ๋ : ๋ฐ๋ณตํด์ ์ฌ์ํ ๊ตฌ๊ฐ์ ์์๊ณผ ๋ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ ๋๋ค. | |
// ์์ ์ธ๋ฑ์ค >= ๋ ์ธ๋ฑ์ค ์ผ ๋ ๋ฃจํ๋ ๊บผ์ง | |
SFX๋ฅผ ์์ /ํ์ธํ ์ ์๋ ๋ชจ๋๋ 2๊ฐ์ง๊ฐ ์์ต๋๋ค: ํผ์น ๋ชจ๋(ํจ๊ณผ์ ํธ์ง์ ์ ํฉ) ์ ํธ๋์ปค ๋ชจ๋(์์ ํธ์ง์ ์ ํฉ)์ ๋๋ค. ์ด ๋ชจ๋๋ ํ๋ฉด ์ข์ธก ์๋จ ๋ฒํผ ๋๋ TAB์ ๋๋ฌ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค. | |
1. ํผ์น ๋ชจ๋ | |
ํผ์น ์์ญ์ ํด๋ฆญํ๊ณ ๋๋๊ทธํ์ฌ ๊ฐ ๋ ธํธ์ ๋ํ ์ฃผํ์๋ฅผ ์ค์ ํ์ธ์. ํ์ฌ ์ค์ ๋ ์ ๊ธฐ๋ ๊ฐ ๋ ธํธ์ ์์ผ๋ก ํ์๋ฉ๋๋ค. | |
shift๋ฅผ ๋๋ฅธ ์ฑ๋ก ํ์ฌ ์ ๊ธฐ๋ง ์ ์ฉํ์ธ์. | |
CTRL์ ๋๋ฌ์ ๋ ธํธ๋ฅผ C ๋ง์ด๋ ํํ ํ ๋ ์ค์ผ์ผ์ ๋ง์ถ์ธ์. | |
2. ํธ๋์ปค ๋ชจ๋ | |
๊ฐ ๋ ธํธ์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: ์ฃผํ์ ์ฅํ๋ธ ์ ๊ธฐ ๋ณผ๋ฅจ ํจ๊ณผ | |
๋ ธํธ๋ฅผ ์ ๋ ฅํ๋ ค๋ฉด q2w3er5t6y7ui zsxdcvgbhnjm (ํผ์๋ ธ ๋ ์ด์์) ๋ฅผ ๋๋ฅด์ธ์. | |
์๋ก์ด ๋ ธํธ์๋ ํ์ฌ ์ ํ๋ ์ ๊ธฐ/ํจ๊ณผ ๊ฐ์ด ๋ฐฐ์ ๋ฉ๋๋ค. | |
๋ ธํธ๋ฅผ ์ง์ฐ๋ ค๋ฉด backspace๋ฅผ ๋๋ฅด๊ฑฐ๋ ๋ณผ๋ฅจ์ 0์ผ๋ก ๋ง์ถ์ธ์. | |
ํด๋ฆญ, shift-ํด๋ฆญ์ผ๋ก ์์ญ์ ์ ํํด์ ๋ณต์ฌ(CTRL-C)ํ๊ฑฐ๋ ๋ถ์ฌ๋ฃ์(CTRL-V) ์ ์์ต๋๋ค. | |
3. ๊ณตํต ์ปจํธ๋กค | |
- + SFX ๊ฐ ์ด๋ | |
< > ์๋ ๋ณ๊ฒฝ | |
SPACE ์ฌ์/๋ฉ์ถค | |
A ๋ฃจํ ์ค์ธ ์ํ์ ๋ฃจํ ํ๊ธฐ | |
ํด๋ฆญ ๋๋ ์ผ์ชฝ ํด๋ฆญ SPD๊ฐ๊ณผ LOOP๊ฐ์ ์ฆ๊ฐ/๊ฐ์ | |
// Shift๋ฅผ ๋๋ฅธ ์ฑ๋ก ์กฐ์ํ๋ฉด 4 ๋จ์๋ก ์ฆ๊ฐ/๊ฐ์ | |
// ๋๋, ํด๋ฆญํ ์ฑ๋ก ์ข/์ฐ ํน์ ์/ํ๋ก ๋๋๊ทธํด์ ์กฐ์ | |
Shift-ํด๋ฆญ ๋ชจ๋ ๋ ธํธ์ ๋์ผํ ์ ๊ธฐ, ํจ๊ณผ ๋๋ ๋ณผ๋ฅจ์ ์ ์ฉ | |
:: ํจ๊ณผ | |
0 ์์ | |
1 ์ฌ๋ผ์ด๋ // ํ์ฌ ๋ ธํธ๋ก ์ฌ๋ผ์ด๋ | |
2 ๋น๋ธ๋ผํ // 1/4ํค ๋ฒ์์์ ํผ์น ๋จ๊ธฐ | |
3 ๋๋ // ๋ ธํธ ์ฃผํ์๋ฅผ ๋น ๋ฅด๊ฒ ๋จ์ด๋จ๋ฆผ | |
4 ํ์ด๋ ์ธ // ๋ณผ๋ฅจ์ 0์์๋ถํฐ ์ฌ๋ฆผ | |
5 ํ์ด๋ ์์ // ๋ณผ๋ฅจ์ 0์ผ๋ก ์ค์ | |
6 ๋น ๋ฅธ ์๋ฅดํ์ง์ค // 4 ์๋๋ก 4๊ฐ์ ๋ ธํธ๋ฅผ ์ํ | |
7 ๋๋ฆฐ ์๋ฅดํ์ง์ค // 8 ์๋๋ก 4๊ฐ์ ๋ ธํธ๋ฅผ ์ํ | |
SFX ์๋ <= 8์ผ ๊ฒฝ์ฐ, ์๋ฅดํ์ง์ค ์คํผ๋๋ ๊ฐ๊ฐ 2, 4๋ก ์ค์ด๋ญ๋๋ค. | |
:: ์์ ํธ์ง๊ธฐ | |
PICO-8์์ ์์ ์ 'ํจํด'์ ์ฐ์์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. ๊ฐ ํจํด์ ํ ๊ฐ์ SFX๋ฅผ ์ฌ์ํ ์ ์๋ ์ฑ๋ ๋ค ๊ฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. | |
:: ์์ ์กฐ์ | |
์ฌ์ ์์๋ ์ฐ์ธก ์๋จ์ 3๊ฐ์ ๋ฒํผ์ ํตํด ์กฐ์ ํ ์ ์์ต๋๋ค. | |
ํจํด์ ์ฌ์์ด ๋๋๋ฉด, ์๋์ ์กฐ๊ฑด์ ํด๋นํ์ง ์๋ ๊ฒฝ์ฐ ๋ค์ ํจํด์ ์ฌ์ํฉ๋๋ค: | |
- ๋จ์ ํจํด์ด ์์ (์์ ๋ฉ์ถค) | |
- STOP ๋ช ๋ น์ด ํ์ฌ ํจํด์ ์ค์ ๋์ด ์์ (3๋ฒ์งธ ๋ฒํผ) | |
- LOOP BACK ๋ช ๋ น์ด ํ์ฌ ํจํด์ ์ค์ ๋์ด ์์ (2๋ฒ์งธ ๋ฒํผ): ์ด ๊ฒฝ์ฐ ์์ ์ฌ์๊ธฐ๋ LOOP START ๋ฒํผ (1๋ฒ์งธ ๋ฒํผ) ์ด ์ค์ ๋ ํจํด ํน์ ํด๋น ํจํด์ด ์์ ๊ฒฝ์ฐ 0๋ฒ ํจํด์ผ๋ก ๋์๊ฐ ์ฌ์์ ๊ณ์ํจ | |
ํจํด ๋ด์ ์๋๊ฐ ๋ค๋ฅธ SFX๊ฐ ์์ ๊ฒฝ์ฐ, ์ํํ์ง ์๋ ๊ฐ์ฅ ์ผ์ชฝ ํจํด์ ์ฌ์์ด ๋๋ ๋ ํจํด์ ์ฌ์์ด ๋๋๊ฒ ๋ฉ๋๋ค. ๋ณ์น ๋ฐ์๋ ๋๋ธํ์ ๋๋ผ ๋นํธ ๋ฑ์ ์ค์ ํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. (๋๋ธ ํ์: ๊ฐ์ ๋ฆฌ๋ฌ์ ์๋๋ง ๋ ๋ฐฐ ๋น ๋ฅด๊ฒ ํด์ ์ฐ์ฃผํ๋ ๊ฒ) | |
:: ์์ ๋ณต์ฌํ๊ธฐ | |
์ฌ๋ฌ ๊ฐ์ ํจํด์ ์ ํํ๋ ค๋ฉด: ํจํด ๋ด๋น๊ฒ์ดํฐ์์ ์ฒ์ ํจํด์ ํด๋ฆญํด์ ์ ํํ๊ณ , ๋ง์ง๋ง ํจํด์ shift-ํด๋ฆญ์ผ๋ก ์ ํํฉ๋๋ค. ์ ํํ ํจํด์ CTRL-C์ CTRL-V๋ฅผ ์ฌ์ฉํด์ ๋ณต์ฌํ๊ณ ๋ถ์ฌ๋ฃ์ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์นดํธ๋ฆฌ์ง์ ๋ถ์ฌ๋ฃ์ ๋๋ ํ์ํ ๊ฒฝ์ฐ ํจํด์ด ์ฐธ์กฐํ๋ SFX๋ค๋ ๊ฐ์ด ๋ณต์ฌ๋ ๊ฒ์ ๋๋ค (์ด ๋ ์ธ๋ฑ์ค ๋ฒํธ๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค). | |
============================================================================================ | |
Lua ๋ฌธ๋ฒ ์ ๋ฌธ์ | |
============================================================================================ | |
PICO-8 ํ๋ก๊ทธ๋จ์ Lua ๋ฌธ๋ฒ์ผ๋ก ์์ฑ๋์์ต๋๋ค๋ง, ํ์ค Lua ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง๋ ์์ต๋๋ค. ๋ค์์ ํ์์ ์ธ Lua ๋ฌธ๋ฒ์ ๋ํ ๊ฐ๋ตํ ์์ฝ์ ๋๋ค. | |
๋ ์์ธํ ์์๋ณด๊ณ ์ถ์ผ์๊ฑฐ๋ ์ ๋๋ก ๋ Lua์ ๋ํด ์์๋ณด๊ณ ์ถ์ผ์๋ค๋ฉด www.lua.org ๋ฅผ ์ฐธ์กฐํ์ธ์. | |
:: ์ฝ๋ฉํธ | |
-- ํ์ดํ์ ๋ ๊ฐ ์จ์ ์ค์ด ๋๋ ๋๊น์ง์ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ฌด์ | |
--[[ ์ฌ๋ฌ ์ค๋ก ๋ | |
์ฝ๋ฉํธ ]] | |
:: ํ์ types๊ณผ ํ ๋นassignment | |
Lua์ ์กด์ฌํ๋ ํ์ ์ ์numbers, ๋ฌธ์์ดstrings, ๋ถ ๋์booleans, ํ ์ด๋ธtables์ด ์์ต๋๋ค. | |
NUM = 12/100 | |
S = "THIS IS A STRING" | |
B = FALSE | |
T = {1,2,3} | |
PICO-8์์ ์ฐ์ด๋ ๋ชจ๋ ์ซ์๋ ๊ฐ์๋ถ:์ง์๋ถ๊ฐ 16:16์ธ ๊ณ ์ ์์์ ๋ฐฉ์์ผ๋ก ํ์๋๋ฉฐ, -32768.0 ~ 32767.99 ์ ๋ฒ์๋ฅผ ๊ฐ์ต๋๋ค. | |
16์ง์์ fractional parts๋ฅผ ๋ณํํ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค: | |
0x11 -- 17 | |
0x11.4000 -- 17.25 | |
0์ผ๋ก ๋๋๋ฉด ๊ฐ์ฅ ํฐ ์ซ์๋ก ๋ฐ์๋ค์ ๋๋ค: 0x7fff.ffff | |
:: ์กฐ๊ฑด๋ฌธconditionals | |
IF NOT B THEN -- B๊ฐ ์๋ ๊ฒฝ์ฐ | |
PRINT("B IS FALSE") -- "B๋ ๊ฑฐ์ง" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
ELSE -- ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ | |
PRINT("B IS NOT FALSE") -- "B๋ ๊ฑฐ์ง์ด ์๋" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
END -- ์กฐ๊ฑด๋ฌธ ๋ | |
-- ELSEIF์ ํจ๊ป ์ฐ์ผ ๊ฒฝ์ฐ | |
IF X == 0 THEN -- X๊ฐ 0์ผ ๊ฒฝ์ฐ | |
PRINT("X IS 0") -- "X๋ 0" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
ELSEIF X < 0 THEN -- ๊ทธ๋ ์ง ์๊ณ X๊ฐ 0๋ณด๋ค ์์ ๊ฒฝ์ฐ | |
PRINT("X IS NEGATIVE") -- "X๋ ์์" ๋ผ๊ณ ์ถ๋ ฅ | |
ELSEIF X > 0 THEN -- ๊ทธ๋ ์ง ์๊ณ X๊ฐ 0๋ณด๋ค ํด ๊ฒฝ์ฐ | |
PRINT("X IS POSITIVE") -- "X๋ ์์" ๋ผ๊ณ ์ถ๋ ฅ | |
ELSE -- ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ | |
PRINT("THIS IS LINE IS NEVER REACHED") --[[ "์ด ์ค์ ์คํ๋์ง ์์" ๋ผ๊ณ ์ถ๋ ฅ | |
(์ด ์ค์ ์คํํ ์ ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ X ๊ฐ ์์ต๋๋ค) ]] | |
END -- ์กฐ๊ฑด๋ฌธ ๋ | |
IF (4 == 4) THEN PRINT("EQUAL") END | |
-- 4๊ฐ 4์ผ ๊ฒฝ์ฐ, "๊ฐ์" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
IF (4 ~= 3) THEN PRINT("NOT EQUAL") END | |
-- 4๊ฐ 3์ด ์๋ ๊ฒฝ์ฐ, "๊ฐ์ง ์์" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
IF (4 <= 4) THEN PRINT("LESS THAN OR EQUAL") END | |
-- 4๊ฐ 4์ ๊ฐ๊ฑฐ๋ ๋ ์ ์ ๊ฒฝ์ฐ, "์๊ฑฐ๋ ๊ฐ์" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
IF (4 > 3) THEN PRINT("MORE THAN") END | |
-- 4๊ฐ 3๋ณด๋ค ํด ๊ฒฝ์ฐ, "๋ ํผ" ์ด๋ผ๊ณ ์ถ๋ ฅ | |
:: ๋ฐ๋ณต๋ฌธloops | |
FOR X=1,5 DO -- X๊ฐ 1์์ 5๊น์ง์ ๊ฐ์ ์ทจํ ๋์ ์คํ | |
PRINT(X) -- X๋ฅผ ์ถ๋ ฅ | |
END -- ๋ฐ๋ณต๋ฌธ ๋ | |
-- 1,2,3,4,5๋ฅผ ์ถ๋ ฅ | |
X = 1 | |
WHILE(X <= 5) DO -- X๊ฐ 5๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋์ ์คํ | |
PRINT(X) -- X๋ฅผ ์ถ๋ ฅ | |
X = X + 1 -- X์ ๊ฐ์ 1 ์ฆ๊ฐ | |
END -- ๋ฐ๋ณต๋ฌธ ๋ | |
FOR X=1,10,3 DO PRINT(X) END -- 1,4,7,10 | |
FOR X=5,1,-2 DO PRINT(X) END -- 5,3,1 | |
:: ํจ์functions์ ์ง์ญ ๋ณ์local variables | |
Y=0 | |
FUNCTION PLUSONE(X) -- PLUSONE์ด๋ผ๋ ํจ์ ์์ฑ, ์ธ์๊ฐ์ผ๋ก X๋ฅผ ๋ฐ๋๋ค | |
LOCAL Y = X+1 -- ํจ์ ๋ด์์๋ง ์ฌ์ฉํ ์ง์ญ๋ณ์ Y์ X+1์ ๊ฐ์ ํ ๋น | |
RETURN Y -- ์ด ํจ์๋ Y๋ฅผ ๋ฐํ | |
END -- ํจ์ ๋ | |
PRINT(PLUSONE(2)) -- 3 | |
PRINT(Y) -- 0 | |
-- Y๋ ํจ์ ๋ด์์๋ง ์ ์ธ๋ ๋ณ์์ด๋ฏ๋ก ํจ์ ๋ฐ๊นฅ์์ ์ ๊ทผํ๋ฉด ์ฐพ์ ์ ์์ | |
:: ํ ์ด๋ธtables | |
Lua์์ ํ ์ด๋ธ์ ์ฌ๋ฌ ํค-๊ฐ ์๋ค์ ๋ชจ์์ด๋ฉฐ, ์ด ๋ ํค์ ๊ฐ์ ํ์ ์ ํผ์ฉํด์ ์ธ ์ ์์ต๋๋ค. ์ ์ ์ธ๋ฑ์ค์ ์ ๊ทผํด์ ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
A={} -- ๋น ํ ์ด๋ธ ์์ฑ | |
A[1] = "BLAH" | |
A[2] = 42 | |
A["FOO"] = {1,2,3} | |
-- ๋ฐฐ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก 1-based ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉ (๋ฐฐ์ด ๋ด ํ ๋น๋ ์ฒซ๋ฒ์งธ ๊ฐ์ ์ฃผ์๋ฅผ 1๋ถํฐ ์ง์ ํ๋ค๋ ๋ป์ ๋๋ค). | |
A = {11,12,13,14} | |
PRINT(A[2]) -- 12 | |
-- ์ฐ์๋ ๋ค ๊ฐ์ 1-based ์ ์๋ก ์ธ๋ฑ์ค๊ฐ ์ง์ ๋ ํ ์ด๋ธ์ ์ฌ์ด์ฆ | |
PRINT(#A) -- 4 | |
-- ์ธ๋ฑ์ค๊ฐ ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ dot notation์ผ๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. | |
PLAYER = {} | |
PLAYER.X = 2 -- PLAYER["X"] ๋ก๋ ์ ๊ทผ ๊ฐ๋ฅ | |
PLAYER.Y = 3 | |
-- ์๋ api ์ฐธ์กฐ์์ ํ ์ด๋ธ ์น์ ์ ์ฐธ์กฐํ์ธ์. | |
:: PICO-8 ์๊ธฐ | |
PICO-8์ ํํ ์ฐ์ด๋ ํจํด์ ๋ํด ๋นํ์ค์ ์ธ ๋ ์งง์ ํ๊ธฐ ๋ฐฉ๋ฒ์ ํ์ฉํฉ๋๋ค. | |
1. IF THEN END ๋ฌธ์ฅ์ ํ ์ค์ ์ธ ๋ THEN๊ณผ END๋ฅผ ์๋ตํ ์ ์์ต๋๋ค. | |
IF (NOT B) I=1 J=2 | |
-- ๋ค์์ ์ฝ๋์ ๋์ผ: IF (NOT B) THEN I=1 J=2 END | |
-- ์กฐ๊ฑด์ ๋๋ฌ์ธ๋ ๊ดํธ๋ ๋ฐ๋์ ํ์ | |
2. ๋จํญ ์์ ์ฐ์ฐ์ | |
a += 2 -- ๋ค์์ ์ฝ๋์ ๋์ผ: a = a + 2 | |
a -= 2 -- ๋ค์์ ์ฝ๋์ ๋์ผ: a = a - 2 | |
a *= 2 -- ๋ค์์ ์ฝ๋์ ๋์ผ: a = a * 2 | |
a /= 2 -- ๋ค์์ ์ฝ๋์ ๋์ผ: a = a / 2 | |
a %= 2 -- ๋ค์์ ์ฝ๋์ ๋์ผ: a = a % 2 | |
3. != ์ฐ์ฐ์ | |
์๊ธฐ ํ๊ธฐ๋ ์๋์ง๋ง, pico-8์์๋ ~= ๋์ !=๋ "๊ฐ์ง ์์"์ ๋ปํ๋ ์ฐ์ฐ์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
============================================================================================ | |
API | |
============================================================================================ | |
PICO-8์ Lua ์คํฌ๋ฆฝํธ ์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก์ง๋ง, ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง๋ ์์ต๋๋ค. ๋์ PICO-8์ ๋ฏธ๋๋ฉํ ๋์์ธ๊ณผ ์ ํ๋ ํ๋ฉด ์ฌ์ด์ฆ๋ฅผ ํ์ฉํ ์ ์๋๋ก ์์ api๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. api ์ฌ์ฉ ์์ ํ๋ก๊ทธ๋จ์ ๋ณด๋ ค๋ฉด /DEMOS/API.P8 ์ ์ฐธใ ํ์ธ์. | |
ํจ์๋ ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ํ๊ธฐํฉ๋๋ค. | |
function_name parameter [optional_parameter] | |
-- ํจ์_์ด๋ฆ ์ธ์ [์ ํ์ _์ธ์] | |
์์คํ ํจ์๋ฅผ ๋ช ๋ น์ค์์ ๋ถ๋ฅผ ๋๋ ๊ดํธ์ ๋ฐ์ดํ๋ฅผ ์๋ตํ ์ ์์ต๋๋ค. | |
load blah.p8 --> load("blah.p8") | |
-------------------------------------------------------------------------------------------------------- | |
์์คํ | |
-------------------------------------------------------------------------------------------------------- | |
load filename | |
save filename | |
์นดํธ๋ฆฌ์ง๋ฅผ ๋ถ๋ฌ์ค๊ฑฐ๋ ์ ์ฅํฉ๋๋ค. | |
".png" ํ์์ ์ฌ์ฉํด์ png ํ์ผ๋ก ์ ์ฅํ์ธ์ -- ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ ์คํธ ํ์ (".p8")์ผ๋ก ์ ์ฅํฉ๋๋ค. | |
".p8"์ ์๋ตํ ์ ์์ผ๋ฉฐ, ๋ช ๋ น์ ์คํํ ๋ ์๋์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค. | |
save("blah") --> save("blah.p8") | |
save("blah.png") --> save("blah.p8.png") | |
load("blah.png") --> load("blah.p8.png") (blah.png๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ) | |
๋ถ๋ฌ์ฌ ๋๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ํ์ผ์ ์ฐพ์ ์ ์์ ๊ฒฝ์ฐ pico-8์ ".p8"์ ๋ถ์ฌ์ ๋ค์ ์๋ํฉ๋๋ค. | |
".png"๋ ๋ถ๋ฌ์ฌ ๋์ ํํด์ ์๋ตํ ์ ์์ต๋๋ค. | |
load ("blah") --> "blah.p8"์ด ์์ ๊ฒฝ์ฐ "blah.p8.png"๋ฅผ ์ฐพ๊ณ ์ด๋ ์์ ๊ฒฝ์ฐ "blah.png"๋ฅผ ์ฐพ์ต๋๋ค. | |
์นดํธ๋ฆฌ์ง๋ฅผ ํ ๋ฒ ์ด์ ๋ถ๋ฌ์ค๊ฑฐ๋ ์ ์ฅํ์ ๊ฒฝ์ฐ, CTRL-S ๋ก ํต์ธ์ด๋ธ๋ฅผ ํ ์ ์์ต๋๋ค. | |
:: ํ ์คํธ ๋ผ๋ฒจ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ .png ์นดํธ๋ฆฌ์ง๋ก ์ ์ฅํ๊ธฐ | |
์นดํธ๋ฆฌ์ง์ ์ ์ฅ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๋ ค๋ฉด, ํ๋ก๊ทธ๋จ์ ์คํํ ๋ค์ F7์ ๋๋ฌ์ ํ๋ฉด์ ์บก์ณํ์ธ์. ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ฒซ ๋ ์ค์ ์ด ์ฝ๋ฉํธ๊ฐ ์นดํธ๋ฆฌ์ง์ ๋ผ๋ฒจ๋ก ์ฐ์ฌ์ง๋๋ค. | |
e.g. | |
-- OCEAN DIVER LEGENDS | |
-- BY LOOPY | |
:: .png ํ์์ ์ฝ๋ ์ฌ์ด์ฆ ์ ํ | |
.png ํ์์ผ๋ก ์ ์ฅํ ๋, ์์ถ๋ ์ฝ๋์ ํฌ๊ธฐ๋ ๋ฐ๋์ 15360 ๋ฐ์ดํธ ์ด๋ด์ฌ์ผ ํฉ๋๋ค. ํ์ฌ ์ฝ๋ ์ฌ์ด์ฆ๋ฅผ ๋ณด๋ ค๋ฉด INFO ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ธ์. ์์ถ ์ฌ์ด์ฆ ์ ํ์ .p8 ํฌ๋งท์์๋ ์ ์ฉ๋์ง ์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์์ถ ์ฝ๋ ์ฌ์ด์ฆ์ ๋ํด์ ๊ณ ๋ คํด์ผ ํ ํ์๋ ์์ ๊ฒ์ ๋๋ค. ํฌ๊ธฐ๊ฐ ์ปค์ง ์ฝ๋๋ 8192 ํ ํฐ ์ ํ์ ๋ณดํต ๋จผ์ ๋๋ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค. | |
folder | |
ํธ์คํธ OS ์์ ์นดํธ๋ฆฌ์ง๊ฐ ๋ค์ด์๋ ํด๋๋ฅผ ์ด๊ธฐ | |
ls | |
ํ์ฌ ํด๋์ ๋ชจ๋ ํ์ผ์ ์ด๊ฑฐํด์ ๋ณด์ด๊ธฐ | |
run | |
ํ๋ก๊ทธ๋จ์ ์์ ์ง์ ์์๋ถํฐ ์คํ | |
ํ๋ก๊ทธ๋จ ๋ด๋ถ์์ ๋ฆฌ์ ๋ชฉ์ ์ผ๋ก ํธ์ถํ ์ ์์ | |
resume | |
ํ์ฌ ์นดํธ๋ฆฌ์ง ์ํ์์ ํ๋ก๊ทธ๋จ์ ์คํ (๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค). | |
reboot | |
๊ธฐ๊ณ๋ฅผ ์ฌ๋ถํ | |
์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ๋ ์ธ ์ ์์ | |
stat x | |
x:0 ํ์ฌ Lua ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ถ๋ ฅ (0..1024MB) | |
x:1 ๋ง์ง๋ง ํ๋ ์์์์ CPU ์ฌ์ฉ๋์ ์ถ๋ ฅ (1.0์ 30fps ์๋์์ 100% ์ฌ์ฉ๋์ ์๋ฏธ) | |
info | |
ํ์ฌ ์นดํธ๋ฆฌ์ง์ ๋ํ ์ ๋ณด ์ถ๋ ฅ: | |
์ฝ๋ ์ฌ์ด์ฆ, ํ ํฐ, ์์ถ ์ฌ์ด์ฆ | |
flip | |
๋ฐฑ ๋ฒํผback buffer๋ฅผ ์คํฌ๋ฆฐ์ผ๋ก ๋๊ธฐ๊ณ ๋ค์ ํ๋ ์๊น์ง ๋๊ธฐ (30fps) | |
๋ณดํต ์ง์ ์ด ๋ช ๋ น์ด๋ฅผ ํธ์ถํ ์ผ์ ์์ -- _draw()๊ฐ ๋์ ์ด ๋ช ๋ น์ด๋ฅผ ํธ์ถํจ | |
ํ๋ก๊ทธ๋จ์์ ํ๋ ์์ ์ฌ๋ฆฌ๊ธฐ ์ ์ flip์ ํธ์ถํ์ง ์์๊ณ , _draw() ํจ์๊ฐ ์์ง ์คํ์ค์ด์ง ์์ ๊ฒฝ์ฐ, ๋ฐฑ ๋ฒํผ์ ๋ด๊ธด ํ์ฌ ์ฝํ ์ธ ๊ฐ ํ๋ฉด์ ํ์๋ฉ๋๋ค. | |
printh str | |
๋๋ฒ๊ทธ ๋ชฉ์ ์ผ๋ก ๋ฌธ์์ด์ ํธ์คํธ OS์ ์ฝ์์ ์ถ๋ ฅ | |
-------------------------------------------------------------------------------------------- | |
ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ | |
-------------------------------------------------------------------------------------------- | |
๋ค์์ ํน๋ณ ํจ์ 3๊ฐ๋ ์ฌ์ฉ์๊ฐ ์ ์ธํ์ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ํธ์ถ๋ฉ๋๋ค: | |
_update() | |
30fps์์ ๋งค ์ ๋ฐ์ดํธ ์๊ธฐ๋ง๋ค ํธ์ถ | |
_draw() | |
๋งค ๋ฒ ํ๋ ์์ ๋ณด์ฌ์ผ ํ ๋๋ง๋ค ํธ์ถ | |
_init() | |
ํ๋ก๊ทธ๋จ์ ์์ํ ๋ ํธ์ถ | |
_draw()๋ ๋ณดํต 30fps์ ์๋๋ก ํธ์ถ๋ฉ๋๋ค. ํ์ง๋ง ์ ์๊ฐ ์์ ์ด ํจ์๊ฐ ์ ์์ ์ ๋ค ๋๋ด์ง ๋ชปํ ๊ฒฝ์ฐ, pico-8์ ํ๋ก๊ทธ๋จ์ 15fps์ ์๋๋ก ๋ฎ์ถฐ ๋๋ฆฌ๋ ๋์ _update() ํจ์๋ฅผ ๋งค ํ๋ ์์ด ๋ณด์ฌ์ง๋ ๊ฐ๊ฒฉ ๋น ๋ ๋ฒ ์ฉ ํธ์ถํ ๊ฒ์ ๋๋ค. | |
:: PICO-8์ 60fps๋ก ๊ตฌ๋ํ๊ธฐ | |
_update() ๋์ _update60()์ ์ ์ธํ ๊ฒฝ์ฐ, PICO-8์ 60fps ๋ชจ๋๋ก ๊ตฌ๋๋ฉ๋๋ค: | |
- _update60()๊ณผ _draw()๋ 60fps์ ์๋๋ก ํธ์ถ๋ฉ๋๋ค. | |
- 30fps๋ก ์๋๊ฐ ๋จ์ด์ง๊ธฐ ์ ๊น์ง PICO-8 CPU์ ์ ๋ฐ๋ง์ ๋งค ํ๋ ์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
** ๋ชจ๋ PICO-8์ด 60fps๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ์ง์ํ์ง ์๋ ๊ธฐ๊ธฐ์์๋ _update60()์ด ํ๋ ์ ๋น ๋ ๋ฒ ์ฉ ํธ์ถ๋๊ณ _draw()๋ 30fps์ ์๋๋ก ํธ์ถ๋ฉ๋๋ค. 30fps ํ๊ฒฝ์์ ๊ตฌ๋ํ ๋์ ํ๋ก๊ทธ๋จ ์๋ ๋ชจ์ต์ ๋ณด๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฝ๋์ ์๋์ ๋ค์์ ์ถ๊ฐํ์ธ์: | |
u60=_update60 _update60=nil function _update() u60() u60() end | |
-------------------------------------------------------------------------------------------- | |
๊ทธ๋ํฝ | |
-------------------------------------------------------------------------------------------- | |
PICO-8์ 128๊ฐ์ 8x8 ์คํ๋ผ์ดํธ๋ฅผ ๋ด๊ณ ์๋ ํ ๊ฐ์ ๋ฑ ํฌ์, ๋งต์ ํ๋จ๋ถ ์ ๋ฐ๊ณผ ๊ณต์ ํ๋ 128๊ฐ์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ์ด 256๊ฐ์ ์คํ๋ผ์ดํธ๋ฅผ ์คํ๋ผ์ดํธ ์ํธsprite sheet๋ผ ๋ถ๋ฅด๋ฉฐ, 128x128 ์ฌ์ด์ฆ์ ํฝ์ ์ด๋ฏธ์ง๋ผ๊ณ ๋ณผ ์๋ ์์ต๋๋ค. | |
PICO-8์ ๋ชจ๋ ๊ทธ๋ฆฌ๊ธฐ ์์ ์ ํ์ฌ ๊ทธ๋ฆฌ๊ธฐ ์ํ์ ์ํฅ์ ๋ฐ์ต๋๋ค. ์ด ์ํ๋ ์นด๋ฉ๋ผ ํฌ์ง์ (๋ชจ๋ ์ขํ์ ์คํ์ ์ ์ค์ ํ ๋), ํ๋ ํธ ๋งคํ(์คํ๋ผ์ดํธ ์๊น์ ๋ค์ ์น ํ ๋), ์ ํํ ์ฌ๊ฐํ, ํจ์์ ํธ์ถ์ ํตํด ์์๋ก ์ง์ ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๋ฉด ํญ์ ๊ณ ์ ๋์ด ์๋ ํ์ฌ ์ ํํ ์ ๋ฑ์ ํฌํจํฉ๋๋ค. | |
๊ทธ๋ฆฌ๊ธฐ ์ํ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋๋ง๋ค ๋ฆฌ์ ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ค์์ ํธ์ถํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค: | |
clip() camera() pal() color() | |
์ปฌ๋ฌ ์ธ๋ฑ์ค: | |
0 ๊ฒ์ 1 ์ด๋์ดํ๋ 2 ์ด๋์ด๋ณด๋ผ 3 ์ด๋์ด์ด๋ก | |
4 ๊ฐ์ 5 ์ด๋์ดํ์ 6 ๋ฐ์ํ์ 7 ํ์ | |
8 ๋นจ๊ฐ 9 ์ฃผํฉ 10 ๋ ธ๋ 11 ์ด๋ก | |
12 ํ๋ 13 ๋จ์ 14 ๋ถํ 15 ๋ณต์ญ์์ | |
clip [x y w h] | |
์คํฌ๋ฆฐ์ ํด๋ฆฌํ ๊ฒฝ๊ณ๋ฅผ ํฝ์ ๋ก ์ ์ | |
clip()์ผ๋ก ํธ์ถํด์ ๋ฆฌ์ | |
pget x y | |
pset x y [c] | |
x, y ์ง์ ํฝ์ ์ ์๊น์ ์ถ์ถํ๊ฑฐ๋ c๋ก ๋ฐ๊ฟ๋๋ค. | |
sget x y | |
sset x y [c] | |
์คํ๋ผ์ดํธ์ํธ ์์ x, y ์ง์ ํฝ์ ์ ์๊น์ ์ถ์ถํ๊ฑฐ๋ c๋ก ๋ฐ๊ฟ๋๋ค. | |
fget n [f] | |
fset n [f] v | |
์คํ๋ผ์ดํธ์ ํ๋๊ทธ ๊ฐ์ ๊ฐ์ ธ์ค๊ฑฐ๋ v๋ก ์ค์ | |
f ํ๋๊ทธ ์ธ๋ฑ์ค 0..7 | |
v ๋ถ ๋์ ๊ฐ์ผ๋ก์ true ํน์ false | |
ํ๋๊ทธ์ ์ด๊ธฐ ์ํ๋ ์คํ๋ผ์ดํธ ํธ์ง๊ธฐ์ ์ฌ๋ฌ ๊ฐ์ ์์ ์๋ก๋ฌ๋กํ ๋ฒํผ ํ ์ค์์ ์ค์ ํ ์ ์์ต๋๋ค. | |
์คํ๋ผ์ดํธ ํ๋๊ทธ์ ์๋ฏธ๋ ์ฌ์ฉ์์ ์๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ์ด๋ฅผํ ๋ฉด ์ด๋ค ๊ทธ๋ฃน('๋ ์ด์ด')์ ์คํ๋ผ์ดํธ๊ฐ ๋งต์ ๊ทธ๋ ค์ ธ์ผ ํ๋์ง ๋ฑ์ ์ง์ํ๊ธฐ ์ํด ์ธ ์ ์์ ๊ฒ์ ๋๋ค. | |
ํ๋๊ทธ ์ธ๋ฑ์ค๊ฐ ์๋ต๋์์ ๊ฒฝ์ฐ, ๋ชจ๋ ํ๋๊ทธ๋ ๋นํธํ๋์ ํํ๋ก ์ ๋ฌ/์ค์ ๋ฉ๋๋ค. | |
fset(2, 1+2+8) -- ๋นํธ 0,1,3์ ์ค์ | |
fset(2, 4, true) -- ๋นํธ 4๋ฅผ ์ค์ | |
print(fget(2)) -- 27 (1+2+8+16) | |
print str [x y [col]] | |
๋ฌธ์์ด์ ์ถ๋ ฅ | |
๋ฌธ์์ด๋ง ์ธ์๋ก ์ ๋ ฅํ์ ๊ฒฝ์ฐ, ์ปค์๊ฐ ํ๋ฉด ๋์ ๋ค๋ค๋ฅด๋ฉด ์๋์ผ๋ก ์บ๋ฆฌ์ง ๋ฆฌํด์ ์ ์ฉํ๊ณ ํ๋ฉด์ ์๋๋ก ์คํฌ๋กคํฉ๋๋ค. (ํฐ๋ฏธ๋์ฒ๋ผ ๋ฐ์) | |
cursor x y | |
์ปค์ ์์น์ ์บ๋ฆฌ์ง ๋ฆฌํด ์ฌ๋ฐฑ์ ์ค์ | |
color col | |
๊ทธ๋ฆฌ๊ธฐ ํจ์๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ ์์ ์ค์ | |
cls | |
ํ๋ฉด ์ง์ฐ๊ธฐ | |
camera [x y] | |
๋ชจ๋ ๊ทธ๋ฆฌ๊ธฐ ํจ์์ -x, -y์ ์คํ์ ์ ์ง์ | |
camera()๋ก ํธ์ถํด์ ๋ฆฌ์ | |
circ x y r [col] | |
circfill x y r [col] | |
x,y ์ง์ ์ r์ ๋ฐ์ง๋ฆ์ ๊ฐ๋ (์์น ๋) ์ ๊ทธ๋ฆฌ๊ธฐ | |
line x0 y0 x1 y1 [col] | |
์ ๊ทธ๋ฆฌ๊ธฐ | |
rect x0 y0 x1 y1 [col] | |
rectfill x0 y0 x1 y1 [col] | |
(์์น ๋) ์ง์ฌ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ | |
pal c0 c1 [p] | |
ํธ์ถ ์์ ์ดํ๋ถํฐ ๋ชจ๋ ๊ทธ๋ฆฌ๊ธฐ ํจ์์์ c0 ์ ๋์ c1 ์์ ์ฌ์ฉ (์ปฌ๋ฌ ๋ฆฌ๋งคํ) | |
pal()๋ก ํธ์ถํ์ฌ ํฌ๋ช ๊ฐ์ ํฌํจํด ์์คํ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ฆฌ์ | |
ํ๋ ํธ ์ข ๋ฅ ๋ ๊ฐ์ง(p; ๊ธฐ๋ณธ๊ฐ์ 0) | |
0 ๊ทธ๋ฆฌ๊ธฐ ํ๋ ํธ : ์๋ก ๊ทธ๋ฆด ์๋ค์ ์ ์ฉ // e.g. ์คํ๋ผ์ดํธ ์ปฌ๋ฌ ๋ฆฌ๋งคํ | |
1 ์คํฌ๋ฆฐ ํ๋ ํธ : ํ๋ฉด์ ๋ณด์ด๋ ์๋ค์ ์ ์ฉ // e.g. ํ์ด๋ ํจ๊ณผ | |
c0 ์ปฌ๋ฌ ์ธ๋ฑ์ค 0..15 | |
c1 ์๋ก ์ ์ฉํ ์ปฌ๋ฌ ์ธ๋ฑ์ค | |
palt c t | |
์ปฌ๋ฌ ์ธ๋ฑ์ค์ ํฌ๋ช ๋๋ฅผ t(๋ถ ๋์ ๊ฐ)๋ก ์ ์ฉ | |
ํฌ๋ช ๋์ ์ ์ฉ ์ํ๋ spr(), sspr(), map() ์์ ํ์ธ ๊ฐ๋ฅ | |
e.g. palt(8, true) -- ๋นจ๊ฐ ์์ ๊ทธ๋ฆฌ์ง ์์ | |
palt()๋ก ํธ์ถํ์ฌ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ฆฌ์ : 0๋ฒ ์์ ์ ์ธํ ๋ชจ๋ ์์ ๋ถํฌ๋ช ํ๊ฒ | |
spr n x y [w h] [flip_x] [flip_y] | |
n (0..255) ๋ฒ์งธ ์คํ๋ผ์ดํธ๋ฅผ x,y ์์น์ ๊ทธ๋ฆฌ๊ธฐ | |
๋๋น์ ๋์ด์ ๊ธฐ๋ณธ๊ฐ์ 1,1 | |
w, h ๊ฐ์ ํตํด ์คํ๋ผ์ดํธ ์ํธ์ ์ด์ํ๋ ๋ช ์นธ๊น์ง ํต์งธ๋ก ๊ทธ๋ฆด ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ | |
0๋ฒ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌ๋ช ํ๊ฒ ๊ทธ๋ ค์ง (palt()๋ฅผ ์ฐธ์กฐ) | |
flip_x=true ์ข์ฐ ๋ค์ง๊ธฐ | |
flip_y=true ์ํ ๋ค์ง๊ธฐ | |
sspr sx sy sw sh dx dy [dw dh] [flip_x] [flip_y] | |
์คํ๋ผ์ดํธ ์ํธ์ (sx, sy)์์ ๊ฐ๋ก ์ธ๋ก (sw, sh)๊น์ง์ ์์ญ์ ๊ฐ์ ธ์์ | |
ํ๋ฉด์ (dx, dy)์์ ๊ฐ๋ก ์ธ๋ก (dw, dh)๊น์ง ๋๋ ค์ ๊ทธ๋ฆฌ๊ธฐ // ์์น๋ ํฝ์ ๋จ์ | |
0๋ฒ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌ๋ช ํ๊ฒ ๊ทธ๋ ค์ง (palt()๋ฅผ ์ฐธ์กฐ) | |
dw, dh๋ ๋ช ์๋์ง ์์์ ๊ฒฝ์ฐ sw, sh์ ๋์ผํ ๊ฐ | |
flip_x=true ์ข์ฐ ๋ค์ง๊ธฐ | |
flip_y=true ์ํ ๋ค์ง๊ธฐ | |
-------------------------------------------------------------------------------------------- | |
ํ ์ด๋ธ | |
-------------------------------------------------------------------------------------------- | |
add t v | |
ํ ์ด๋ธ t์ ๋์ v๋ฅผ ๊ฐ์ผ๋ก ์ถ๊ฐํฉ๋๋ค. | |
๋ค์๊ณผ ๊ฐ์: t[#t+1] = v | |
FOO={} -- ๋น ํ ์ด๋ธ ๋ง๋ค๊ธฐ | |
ADD(FOO, 11) | |
ADD(FOO, 22) | |
PRINT(FOO[2]) -- 22 | |
del t v | |
ํ ์ด๋ธ t์์ ์ฒ์์ผ๋ก ์ฐพ์๋ธ v ๊ฐ์ ์ ๊ฑฐ | |
ํ ์ด๋ธ ์์ ๊ณต๋ฐฑ์ด ์๊ธฐ๋ ๊ฑธ ๋ง๊ธฐ ์ํด ๋จ์ ๊ฐ๋ค์ ์ผ์ชฝ์ผ๋ก ํ ์นธ ์ฉ ์ฎ๊ฒจ์ง๋๋ค. | |
v๋ ์ธ๋ฑ์ค๊ฐ ์๋ ์ง์ธ ๊ฐ์์ ๊ธฐ์ตํ์ธ์! | |
del()์ ํ ์ด๋ธ์ ์ํํ๋ฉด์ ์์ ํ๊ฒ ํธ์ถํด ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
A={1,10,2,11,3,12} | |
FOR ITEM IN ALL(A) DO | |
IF (ITEM < 10) THEN DEL(A, ITEM) END | |
END | |
FOREACH(A, PRINT) -- 10,11,12 | |
PRINT(A[3]) -- 12 | |
all t | |
FOR ๋ฃจํ ์์์ ํ ์ด๋ธ ์์ ๋ชจ๋ ๊ฐ์ ์ถ๊ฐ๋ ์์๋๋ก ๋์๊ฐ๋ฉฐ ์ฐธ์กฐํ๊ธฐ ์ํด ์๋๋ค (ํ ์ด๋ธ์ 1-based ์ ์ ์ธ๋ฑ์ค๋ฅผ ์๋๋ค). | |
T = {11,12,13}; | |
ADD(T,14) | |
ADD(T,"HI") | |
FOR V IN ALL(T) DO PRINT(V) END -- 11 12 13 14 HI | |
PRINT(#T) -- 5 | |
foreach t f | |
ํ ์ด๋ธ t์ ๋ชจ๋ ๊ฐ์ ๋ํด, ํจ์ f์ ์ธ์๋ก ๊ทธ ๊ฐ๋ง์ ๋ฃ์ด์ ํธ์ถํฉ๋๋ค. | |
FOREACH(T, PRINT) | |
pairs t | |
FOR ๋ฃจํ ์์์ ํ ์ด๋ธ t ์์ ๋ชจ๋ ํค-๊ฐ ์๋ค์ ๋์๊ฐ๋ฉฐ ์ฐธ์กฐํ๊ธฐ ์ํด ์๋๋ค. | |
all()๊ณผ๋ ๋ฌ๋ฆฌ ์์์ ๋ฌด๊ดํ๊ฒ ๋ชจ๋ ์๋ค์ ์ฐธ์กฐํฉ๋๋ค. | |
T = {["HELLO"]=3, [10]="BLAH"} | |
T.BLUE = 5; | |
FOR K,V IN PAIRS(T) DO | |
PRINT("K: "..K.." V:"..V) | |
END | |
Output: | |
K: 10 v:BLAH | |
K: HELLO v:3 | |
K: BLUE v:5 | |
-------------------------------------------------------------------------------------------- | |
์ ๋ ฅ | |
-------------------------------------------------------------------------------------------- | |
btn [i [p]] | |
ํ๋ ์ด์ด p์ ๋ฒํผ i์ ์ํ๋ฅผ ๊ฐ์ ธ์ด(p์ ๊ธฐ๋ณธ๊ฐ์ 0) | |
i: 0..5: ์ข ์ฐ ์ ํ o x | |
p: ํ๋ ์ด์ด ๋ฒํธ 0..7 | |
์ธ์๊ฐ ์ฃผ์ด์ง์ง ์์์ ๊ฒฝ์ฐ ํ๋ ์ด์ด 0, 1์ ๋ชจ๋ ๋ฒํผ์ ๋ํ ๋นํธํ๋๋ฅผ ๋ฐํ | |
// P0: ๋นํธ 0..5 P1: ๋นํธ 8..13 | |
ํ๋ ์ด์ด ๋ฒํผ ๊ธฐ๋ณธ ๋งคํ: | |
player 0: ํ์ดํ ํค, Z,X / C,V / N,M | |
player 1: ESDF, LSHIFT,A / TAB,Q,E | |
btnp [i [p]] | |
๊ธฐ๋ณธ์ ์ผ๋ก btn()๊ณผ ๋์ผํ์ง๋ง ๋ง์ง๋ง ํ๋ ์์ ๋๋ฆฌ์ง ์์ ๋ฒํผ์ ๋ํด์๋ง ์ฐธ์ ๋ฐํ | |
๋ฒํผ์ 15ํ๋ ์ ์ด์ ๋๋ฅด๊ณ ์์ ๊ฒฝ์ฐ ์ดํ 4 ํ๋ ์๋ง๋ค ์ฐธ์ ๋ฐํํฉ๋๋ค. | |
'๊ณ์ ํ์๋ ค๋ฉด ๋ฒํผ์ ๋๋ฅด์ธ์' ํน์ ๋ฉ๋ด ์์ดํ ์ด๋์ ๊ตฌํ์ ์ ์ฉํ๊ฒ ์ฐ์ผ ์ ์์ต๋๋ค. | |
-------------------------------------------------------------------------------------------- | |
์ค๋์ค | |
-------------------------------------------------------------------------------------------- | |
sfx n [channel [offset]] | |
SFX n๋ฒ(0..)์ channel ๋ฒ ์ฑ๋(0..3)์์ offset ๋ฒ์งธ (0..31) ๋ ธํธ๋ถํฐ ์ฌ์ | |
n์ -1๋ก ์ค์ ํด ํด๋น ์ฑ๋์ ์ฌ์์ ์ ์ง | |
n์ -2๋ก ์ค์ ํด ํด๋น ์ฑ๋์ ๋ฃจํ๋ฅผ ์ ์ง | |
ํด๋น ์ฑ๋์์ ์ฌ์ ์ค์ด๋ SFX๋ ์ฆ์ ๊บผ์ง | |
์ฑ๋์ -1(๊ธฐ๋ณธ๊ฐ)๋ก ์ค์ ํด ํ์ฌ ์ฌ์ฉ ์ค์ด์ง ์์ ์ฑ๋์ ์๋์ผ๋ก ์ ํ | |
// ์๋ฌด๊ฒ๋ ์ฌ์๋์ง ์์ ๊ฒฝ์ฐ, music()์ channel_mask๋ฅผ ๋ถ์ฌํ์ง ์์ | |
// ํ์ฌ ์ฌ์์ค์ธ ์์ ์ด ๋ชจ๋ ์ฑ๋์ ๋ ์ฐจ์งํ ๊ฒ์ ์๋์ง ํ์ธํด๋ณผ ๊ฒ. (e.g. 1+2๋ก ์ฒ์ ๋ ์ฑ๋์ ์ ํ) | |
music [n [fade_len [channel_mask]]] | |
์์ ์ n๋ฒ ํจํด(0..63)๋ถํฐ ์ฌ์ | |
n์ -1๋ก ์ค์ ํด ์์ ์ ์ ์ง | |
fade_len (ํ์ด๋ ์๊ฐ)์ ๋จ์๋ ms (default: 0) | |
channel_mask๋ก ์ด๋ค ์ฑ๋์ ์์ ์ ํ ๋นํ ๊ฒ์ธ์ง ์ค์ | |
e.g. ์ฑ๋ 0..2 ์์ ์ฌ์์ํค๋ ค๋ฉด: 1+2+4 = 7 | |
์์ ์ฌ์์ ํ ๋น๋ ์ฑ๋์ sfx()์์ ์ฑ๋ ๋ฒํธ๋ฅผ ๋ด์ ์์ฒญํ์ ๋๋ง ํจ๊ณผ์์ ์ฌ์ํ ์ ์์ต๋๋ค. | |
-------------------------------------------------------------------------------------------------------- | |
๋งต | |
-------------------------------------------------------------------------------------------------------- | |
mget x y | |
mset x y v | |
x,y์ ๋งต ๊ฐ์ ๊ฐ์ ธ์ค๊ฑฐ๋ v๋ก ๋ฐ๊พธ๊ธฐ | |
map cel_x cel_y sx sy cel_w cel_h [layer] | |
ํ๋ฉด์ ํฝ์ sx, sy์ง์ ์์๋ถํฐ ๋งต์ ์ผ๋ถ ์ง์ญ์ cel ๋จ์๋ฅผ ์จ์ ๊ฐ์ ธ์ ๊ทธ๋ฆฌ๊ธฐ | |
๋ ์ด์ด๊ฐ ๋ช ์๋์์ ๊ฒฝ์ฐ cel ์ค์์ ํด๋น ํ๋๊ทธ๊ฐ ์ผ์ ธ์๋ cel๋ง ๊ทธ๋ ค์ง | |
// ๋ ์ด์ด๋ ๋นํธํ๋ ๊ฐ์ ๋๋ค. 0x5๋ ๋นํธ 0๊ณผ 2๊ฐ ์ผ์ง ์ ๋ง ๊ทธ๋ฆด ๊ฒ์ ๋๋ค. | |
// ๊ธฐ๋ณธ๊ฐ์ ๋ชจ๋ ์คํ๋ผ์ดํธ | |
์์ธ: 0๋ฒ ์คํ๋ผ์ดํธ๋ ์ธ์ ๋ ๋น ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ต๋๋ค. | |
e.g. map(0,0, 20,20, 4,2) | |
-> ๋งต์ 0,0์ง์ ์์๋ถํฐ 4x2์ ํด๋นํ๋ ์์ญ์ ํ๋ฉด์ 20,20์ ๊ทธ๋ฆฝ๋๋ค. | |
-------------------------------------------------------------------------------------------------------- | |
๋ฉ๋ชจ๋ฆฌ | |
-------------------------------------------------------------------------------------------------------- | |
PICO-8์๋ 3๊ฐ์ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ต๋๋ค: | |
1. ๋ฒ ์ด์ค ram (32k): ์๋ ๋ ์ด์์์ ์ฐธ์กฐํ์ธ์. ๋ค์์ ํจ์๋ค๋ก ์ ๊ทผํ ์ ์์ต๋๋ค: peek() poke() memcpy() memset(). | |
2. ์นดํธ rom: 0x4300๊น์ง ๋ฒ ์ด์ค RAM๊ณผ ๊ฐ์ ๋ ์ด์์์ ์๋๋ค. reload()๋ฅผ ์จ์ ๋ฒ ์ด์ค RAM์ผ๋ก ๋ณต์ฌํ ์ ์์ต๋๋ค. | |
3. lua ram (1MB): ์ปดํ์ผ๋ ํ๋ก๊ทธ๋จ๊ณผ ๋ณ์๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๋งํ ์ธ๋ฌผ์ ์ ๊ฒฝ์ฐ์ง ๋ง์ธ์. | |
๊ธฐ์ ์ ์ฐธ๊ณ ์ฌํญ: // ๋ชจ๋ฅด๊ณ ๋์ด๊ฐ๋ ๋ฉ๋๋ค | |
ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ ๋ ์์ ๋๋ ๋ฐ์ดํฐ๋ ์นดํธ rom์ ๋ฐ์ดํฐ์ ๋๋ค. ํ์ง๋ง spr(), sfx()๋ฅผ ํฌํจํ ๋ช๋ช api ํจ์๋ ๋ฒ ์ด์ค ram์ ๋ฐ์ดํฐ๋ง ๋ค๋ฃน๋๋ค. PICO-8์ ๋ค์ 3๊ฐ์ง ๊ฒฝ์ฐ์ ์๋์ผ๋ก ์นดํธ rom์ ๋ฒ ์ด์ค ram์ผ๋ก ๋ณต์ฌ(reload()๋ฅผ ํธ์ถ)ํฉ๋๋ค: | |
1. ์นดํธ๋ฆฌ์ง๋ฅผ ๋ถ๋ฌ์ฌ ๋ (0.1.6 ๋ฒ์ ๋ถํฐ) | |
2. ์นดํธ๋ฆฌ์ง๋ฅผ ๊ตฌ๋ํ ๋ | |
3. ํธ์ง๊ธฐ๋ฅผ ๋๊ฐ ๋ | |
:: ๋ฒ ์ด์ค ram ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์ | |
0x0 gfx | |
0x1000 gfx2/๋งต2 (๊ณต์ ) | |
0x2000 ๋งต | |
0x3000 gfx_props | |
0x3100 ์์ | |
0x3200 sfx | |
0x4300 ์ ์ ๋ฐ์ดํฐ | |
0x5e00 ์ง์์ persistent ์นดํธ ๋ฐ์ดํฐ (256 ๋ฐ์ดํธ) | |
0x5f00 ๊ทธ๋ฆฌ๊ธฐ ์ํstate | |
0x5f40 ํ๋์จ์ด ์ํ | |
0x5f80 gpio ํ (128 ๋ฐ์ดํธ) // ๊ฐ๋ฐ ์ค | |
0x6000 ํ๋ฉด (8k) | |
'์ ์ ๋ฐ์ดํฐ'์ ๋ถ์ฌ๋ ํน๋ณํ ์๋ฏธ๋ ์์ผ๋ฉฐ memcpy(), peek(), poke()๋ฅผ ํตํด ์ํ๋ ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
์ง์์ ์นดํธ ๋ฐ์ดํฐ๋ 0x5e00..0x5eff์ ์ฐ๊ฒฐ๋์ด ์๊ณ cartdata()๋ฅผ ํธ์ถํ ๋๋ง ์ฌ๊ธฐ์ ์ ์ฅ๋ฉ๋๋ค. | |
์ปฌ๋ฌ ํฌ๋งท (gfx/screen)์ ๋ฐ์ดํธ ๋น 2ํฝ์ ์ฉ์ ๋๋ค: ๋ฎ์ ์ชฝ ๋นํธ๊ฐ ๊ฐ ์์ ์ผ์ชฝ ํฝ์ ์ ์ธ์ฝ๋ฉํฉ๋๋ค. | |
๋งต ํฌ๋งท์ ์ ๋น 1๋ฐ์ดํธ์ด๋ฉฐ, ์ด ๋ฐ์ดํธ๋ ์คํ๋ผ์ดํธ ์ธ๋ฑ์ค๋ฅผ ์ธ์ฝ๋ฉํฉ๋๋ค. | |
peek addr | |
poke addr val | |
๋ฒ ์ด์ค ram์ ์ฃผ์ addr์์ 1๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฑฐ๋ ์ฝ์ต๋๋ค. | |
์ฌ์ฉํ ์ ์๋ ์ฃผ์๋๋ 0x0..0x7fff | |
๋ฒ์ ๋ฐ์์ ์ฝ๊ณ ์ฐ๊ธฐ๋ฅผ ์๋ํ ๊ฒฝ์ฐ ํดํธ ๋ฐ์ | |
memcpy dest_addr source_addr len | |
๋ฒ ์ด์ค ram์ source_addr์์ len๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ dest_addr๋ก ๋ณต์ฌ | |
๋ณต์ฌ ๋ฒ์๊ฐ ์ด์ ๋ฒ์๋ฅผ ๋ฎ์ด์ธ ์ ์์ | |
reload dest_addr source_addr len [filename] | |
memcpy์ ๋์ผํ๋ ์นดํธ rom์์ ๋ณต์ฌ | |
์ฝ๋ ์น์ ( >= 0x4300) ์ ๋ณดํธ๋ ๊ตฌ์ญ์ผ๋ก ์ฝ์ ์ ์์ | |
ํ์ผ ์ด๋ฆ์ด ๋ช ์๋์์ ๊ฒฝ์ฐ ํด๋น ์นดํธ๋ฆฌ์ง์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ด | |
cstore dest_addr source_addr len [filename] | |
memcpy์ ๋์ผํ๋ ๋ฒ ์ด์ค ram์์ ๋ณต์ฌํด์ ์นดํธ rom์ผ๋ก ๋ถ์ | |
cstore()๋ cstore(0, 0, 0x4300)์ ๋์ผ | |
์นดํธ ๊ตฌ์ฑ ํด์ ์ฐ๊ฑฐ๋ ๋งต/gfx ์๋ํฐ๋ฅผ ํตํด์ ๋งต/์คํ๋ผ์ดํธ ์ํธ์ ์ํ๋ฅผ ์๊ฐํํ ๋ ์ธ ์ ์์ | |
์ฝ๋ ์น์ ( >= 0x4300) ์ ๋ณดํธ๋ ๊ตฌ์ญ์ผ๋ก ์ฝ์ ์ ์์ | |
ํ์ผ ์ด๋ฆ์ด ๋ช ์๋์์ ๊ฒฝ์ฐ ๋์คํฌ ์์ ๋ช ์๋ ์นดํธ๋ฆฌ์ง์ ๋ฐ๋ก ๋ฐ์ดํฐ๊ฐ ์ฐ์ฌ์ง๋๋ค. ํ ์ธ์ ์์ ์ต๋ 64 ์นดํธ๋ฆฌ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์์ต๋๋ค. | |
'์นดํธ๋ฆฌ์ง ๋ฐ์ดํฐ' ์น์ ์์ cstore ์ฌ์ฉ๋ฒ์ ๋ํ ์ฐธ๊ณ ์ฌํญ์ ํ์ธํ์ธ์. | |
memset dest_addr val len | |
len๋ฐ์ดํธ ๊ธธ์ด์ ๊ฐ์ val๋ก ์ค์ | |
(๊ฝค ๋น ๋ฆ -- ํด๋ฆฌํ ์๋ ๊ฐ๋ก ์ค์บ๋ผ์ธ ๋ฑ์ ๊ทธ๋ฆด ๋ ์ธ ์ ์์) | |
-------------------------------------------------------------------------------------------------------- | |
์ํ | |
-------------------------------------------------------------------------------------------------------- | |
max x y | |
min x y | |
mid x y z | |
์ธ์๊ฐ ์ค ์ต๋, ์ต์, ์ค๊ฐ ๊ฐ์ ๋ฐํ | |
์๋ฅผ ๋ค๋ฉด mid(7,5,10)์ 7์ ๋ฐํ | |
flr x | |
x๋ณด๋ค ์์ผ๋ฉด์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์๋ฅผ ๋ฐํ // x-(x%1) | |
flr(4.1) --> 4 | |
flr(-2.3) --> -3.0 | |
cos x | |
sin x | |
1.0์ ์ ํ ๋ฐํด๋ผ๊ณ ํ ๋ x์ ์ฝ์ฌ์ธ ๊ฐ์ ๋ฐํ | |
์ฌ์ธ ๊ฐ์ ํ๋ฉด ๊ณต๊ฐ์ ๋ง์ถ๊ธฐ ์ํด ์ ์๋๊ฐ ๋ฐ์ ๋์ด ๋ฐํ๋จ | |
e.g. sin(0.25) ๋ -1์ ๋ฐํ | |
y๊ฐ ๋ค์งํ์ง ์์ ๋ผ๋์ฐ์ค-๊ธฐ๋ฐ ์ผ๊ฐํจ์๋ฅผ ์ฐ๊ณ ์ถ๋ค๋ฉด, ํ๋ก๊ทธ๋จ์ ์์๋ถ์ ๋ค์ ์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ์ผ์ธ์: | |
cos1 = cos function cos(angle) return cos1(angle/(3.1415*2)) end | |
sin1 = sin function sin(angle) return sin1(-angle/(3.1415*2)) end | |
atan2 dx dy | |
dx, dy ๋ฅผ 0..1 ์ฌ์ด์ ๊ฐ๋ ๊ฐ์ผ๋ก ๋ฐ๊ฟ | |
์ฝ์ฌ์ธ/์ฌ์ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ํ๋ฉด ๊ณต๊ฐ์ ๋ง์ถ๊ธฐ ์ํด ๊ฐ๋๋ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ | |
e.g. atan(1, -1) ์ 0.125์ ๋ฐํ (โ) | |
sqrt x | |
x์ ์ ๊ณฑ๊ทผ ๊ฐ์ ๋ฐํ | |
abs x | |
x์ ์ ๋๊ฐ์ ๋ฐํ | |
rnd x | |
0 <= n < x์ ๋ง์กฑํ๋ ๋์ n์ ๋ฐํ | |
์ ์ ๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ flr(rnd(x))๋ฅผ ํธ์ถ | |
srand x | |
๋์ ์๋๋ฅผ ์ค์ | |
์นดํธ๋ฆฌ์ง๋ฅผ ์์ํ ๋ ์๋์ผ๋ก ์ค์ ๋จ | |
Bitwise operations | |
band x y | |
bor x y | |
bxor x y | |
bnot x | |
shl x y | |
shr x y | |
// ์ํํธ๋ ๋ ผ๋ฆฌ ์ํํธ (sign bit๋ ์ํํธ ๋์ง ์์) | |
-------------------------------------------------------------------------------------------------------- | |
์ปค์คํ ๋ฉ๋ด ์์ดํ | |
-------------------------------------------------------------------------------------------------------- | |
menuitem index [label callback] | |
๋ฉ์ถค ๋ฉ๋ด์ ํญ๋ชฉ์ ์ถ๊ฐ | |
index ๊ฐ์ 1..5 ์ฌ์ด์ฌ์ผ ํ๋ฉฐ ๊ฐ ๋ฉ๋ด ํญ๋ชฉ์ด ๋ณด์ฌ์ง๋ ์์๋ฅผ ๊ฒฐ์ | |
label ๊ฐ์ ์ต๋ 16๊ธ์ ๊ธธ์ด์ ๋ฌธ์์ด์ด์ด์ผ ํจ | |
callback ์ ํด๋น ๋ฉ๋ด๋ฅผ ์ ํํ์ ๋ ์คํ๋๋ ํจ์ | |
๋ผ๋ฒจ์ด๋ ํจ์๊ฐ ์ฃผ์ด์ง์ง ์์์ ๊ฒฝ์ฐ, ํด๋น ๋ฉ๋ด ํญ๋ชฉ์ ์ ๊ฑฐ๋จ | |
์: | |
menuitem(1, "restart puzzle", function() reset_puzzle() sfx(10) end) | |
-------------------------------------------------------------------------------------------------------- | |
๋ฌธ์์ด | |
-------------------------------------------------------------------------------------------------------- | |
s = "the quick brown fox" | |
-- ๊ธธ์ด | |
print(#s) --> 19 | |
-- ๋ฌธ์์ด ํฉ์น๊ธฐ | |
print("three "..4) --> "three 4" | |
-- sub()๋ก ๋ถ๋ถ์ด ์ฐพ์๋ด๊ธฐ | |
print(sub(s,5,9)) --> "quick" | |
print(sub(s,5)) --> "quick brown fox" | |
-------------------------------------------------------------------------------------------- | |
์นดํธ๋ฆฌ์ง ๋ฐ์ดํฐ | |
-------------------------------------------------------------------------------------------- | |
๊ฐ ์นดํธ๋ฆฌ์ง๋ (์นดํธ ์์ฒด๊ฐ ์๋) ์ฌ์ฉ์์ PICO-8์ 64๊ฐ(256๋ฐ์ดํธ) ์ ์ง์์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ต๊ณ ์ ์๋ ํ๋ ์ด์ด ์ ์ฅ ๋ฐ์ดํฐ ๋ฑ์ ๋ณด๊ดํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
256๋ฐ์ดํธ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํด์ผ ํ ๊ฒฝ์ฐ์ cstore()๋ฅผ ์ด์ฉํด ์นดํธ๋ฆฌ์ง์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ธ ์๋ ์์ต๋๋ค. ๋จ์ ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ํน์ ๋ฒ์ ์ ์นดํธ๋ฆฌ์ง์๋ง ๊ท์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผํ ๋ฉด, ๊ฒ์์ด ์ ๋ฐ์ดํธ ๋๋ฉด ์ธ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ์๊ฒ ๋ฉ๋๋ค. | |
๋ ๋ค๋ฅธ ๋์์ผ๋ก, ๋ค๋ฅธ ์นดํธ๋ฆฌ์ง๋ฅผ ๋ง๋ค์ด์ cstore()๋ก ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์นดํธ ๊ต์ฒดswap๋ฅผ ์๊ตฌํ๋ฉฐ, ๋ฐ๋ผ์ ์ฝ๊ฐ ๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ก์ปฌ ํด๋์์ ๊ตฌ๋ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ-์นดํธ ๊ฐ์ ์ฐ๊บผ๊ธฐlitter๋ฅผ ๋จ๊ธธ ์ ์์ต๋๋ค. | |
cartdata id | |
์นดํธ๋ฆฌ์ง๋ฅผ ๋ถ๋ฅผ ๋ ํ ๋ฒ ํธ์ถํ์ธ์. id๋ ์ต๋ 64์์ ๋ฌธ์์ด๋ก, ๋ค๋ฅธ ์นดํธ๋ฆฌ์ง์ ์ค๋ณต๋์ง ์์ ์ ๋๋ก ํน๋ณํ ๊ฐ์ด์ด์ผ ํฉ๋๋ค. | |
e.g. cartdata("zep_jelpi") | |
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฌธ์๋ a..z, 0..9, underscore (_) ์ ๋๋ค. | |
๋ฐ์ดํฐ ๋ก๋๊ฐ ์๋ฃ๋์์ผ๋ฉด ์ฐธ์ ๋ฐํํฉ๋๋ค. | |
cartdata๋ ์นดํธ๋ฆฌ์ง๋ฅผ ์คํํ ๋ 1ํ ์ด๊ณผํ์ฌ ํธ์ถํ ์ ์์ต๋๋ค. | |
cartdata id๊ฐ ์ ํด์ง๋ฉด, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 0x5e00..0x5eff ๊ฐ ์๊ตฌ ์ ์ฅ์permanent storage๋ก์ ํ ๋น๋๋ฉฐ, ์ด๋ ์ง์ ํน์ dget/dset์ ํตํด ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค. | |
dget index | |
index(0..63)์ ์ ์ฅ๋ ์ซ์๋ฅผ ๊ฐ์ ธ์ด | |
cartdata()๋ฅผ ํธ์ถํ ์ดํ์๋ง ์ฌ์ฉ | |
dset index value | |
index(0..63)์ value ๊ฐ์ ์ ์ฅ | |
cartdata()๋ฅผ ํธ์ถํ ์ดํ์๋ง ์ฌ์ฉ | |
์ฐ์ฌ์ง ๋ฐ์ดํฐ๋ฅผ ๋น์ธflush ํ์๋ ์์ต๋๋ค -- ๋ฐ์ดํฐ๋ ์๋์ผ๋ก ์๊ตฌ ์ ์ฅ์์ ์ ์ฅ๋๋ฉฐ, ์ง์ POKE()๋ฅผ ํตํด ๋ถ๋ฌ์๋ ์ ์ง๋ฉ๋๋ค. | |
------------------------------------------------------------------------------------------------------------ | |
๋ฒ์ ํ์คํ ๋ฆฌ | |
------------------------------------------------------------------------------------------------------------ | |
v0.1.8 | |
์ถ๊ฐ: 60fps ์ง์ | |
์ถ๊ฐ: ์์ ์ถ์ถ | |
์ถ๊ฐ: ์ฌ์ฉ์ ์ง์ GIF ๊ธธ์ด (์ต๋ 120์ด) | |
์ถ๊ฐ: -,+๋ก ์คํ๋ผ์ดํธ ํญ, sfx์ ์์ ํจํด ์ฌ์ด๋ฅผ ์ด๋ | |
์ถ๊ฐ: sfx ํธ์ง๊ธฐ: home, end, pageup/down, mousewheel๋ก ํญ๋ชฉ ๊ฐ ์ด๋ | |
์ถ๊ฐ: <, > ์ด๋ ๋ง์ฐ์ค ๋๋๊ทธ๋ก sfx ์๋ ์กฐ์ | |
์ถ๊ฐ: ๋ง์ฐ์ค ๊ฐ์ด๋ฐ ๋ฒํผ์ผ๋ก ์คํ๋ผ์ดํธ์ํธ/๋งต ํจ๋pan | |
์ถ๊ฐ: splore ๋จ์ถํค: S | |
์ถ๊ฐ: ์ฌ์ ์ค์น๋ BBS ์นดํธ ์ ๋ ์ (INSTALL_GAMES๋ก ์ค์น) | |
์ถ๊ฐ: .p8.png๋ก ์ ์ฅํ ๋ ๋ผ๋ฒจ์ด ์์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ | |
์ถ๊ฐ: (OSX) ~/Library/Logs์ ๋ก๊ทธ ์ ์ฅ (Console.app์ผ๋ก ์ฝ์ ์ ์์) | |
๋ณ๊ฒฝ: CTRL-S๋ก bbs ์นดํธ์ ์ ์ฅํ ์ ์์ | |
๋ณ๊ฒฝ: dir()์ splore์์ .p8 ํ์ผ๋ง ํ์ํจ | |
๋ณ๊ฒฝ: ๋ช ๋ น์ด ํ์คํ ๋ฆฌ ์๋ฅผ 256์ผ๋ก ์ฆ๊ฐ | |
๋ณ๊ฒฝ: ์นดํธ ๊ตฌ๋ ์ค์ผ ๋ exit() / shutdown()๋ฅผ ์คํํด๋ ์๋ฌด๋ฐ ๋ณํ ์์ | |
๊ณ ์นจ: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋(stat(0))์ด ํธ์คํธ ํ๋ซํผ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง | |
๊ณ ์นจ: ํ์ฌ ์นดํธ๋ฅผ load()๋ก ๋ค์ ๋ถ๋ฅผ ๋ ๋์๊ฐ๋ ๋์คํฌ ๋ชจ์์ด ๋ณด์ฌ์ง | |
๊ณ ์นจ: GIF ์ ์ฅ์ 64x64 ๋น์จ์ ๋ง์ถ์ง ์์ / ๋ฏธ๋ฌ ๋ชจ๋ | |
๊ณ ์นจ: ์ฌ๋ฌ๊ฐ์ง ์ฌ๋ฌ ์ค ์ฃผ์ / ๋ฌธ์์ด ๋ฌธ์ | |
๊ณ ์นจ: ๋น์ด์๋ ๋งต ์ ์ด mapdraw() ์คํ ์ cpu๋ฅผ ์ฌ์ฉํจ | |
๊ณ ์นจ: mapdraw()๋ก ๋งต ์์ญ์ ์๋์ชฝ ์ ๋ฐ์ ๊ทธ๋ฆด ๋ ๋๋ ค์ง | |
๊ณ ์นจ: +=, : ์ฐ์ฐ์๊ฐ ๊ฐ์ ์ค์ ์์ ๋ ์ ์ฒ๋ฆฌpreprocess ๊ณผ์ ์์ ์๋ฏธ๊ฐ ๋ฌ๋ผ์ง | |
๊ณ ์นจ: ์๋ณ์๊ฐ ์ธ๋์ค์ฝ์ด๋ก ์์ํ ๋ ์ถ๊ฐ์ ์ธ ํ ํฐ์ผ๋ก ์ฒ๋ฆฌ๋จ | |
๊ณ ์นจ: ์์ถ ์ฝ๋ ๊ธธ์ด ์ ํ์ด ์ด๊ณผํ๋ ์นดํธ๋ฆฌ์ง๋ฅผ .png ํฌ๋งท์ผ๋ก ์ ์ฅํ ๋ ์๋ฌด ๋ฉ์ธ์ง ์์ด ์กฐ์ฉํ๊ฒ ์คํจ | |
๊ณ ์นจ: ์คํ๋ผ์ดํธ๋ฅผ ์ฐํด๋ฆญํด๋ ํ์ฌ ํธ์ง์ค์ธ ์คํ๋ผ์ดํธ๋ก ์ ์ฉ๋์ง ์์ | |
๊ณ ์นจ: (Windows) ์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ์ ๋ ์ฌ๋ฐฑ์ด ํ ์นธ ์ถ๊ฐ๋จ | |
๊ณ ์นจ: spr()๋ก ๋ฎ์ ์์ ๋ ์ขํ ์์ญ์ ๊ทธ๋ฆด ๋ ์์ ์๋ชจ๋์ด ๋์์ง | |
๊ณ ์นจ: ํ์ดํ ๋ฌธ์๊ฐ ์ฝ๋ก ๋ฌธ์์ ๋๊ฐ์ด ์ทจ๊ธ๋จ | |
๊ณ ์นจ: (Raspberry Pi) ํ ์คํธ ์ ๋ ฅ ์ค shiftํค๋ฅผ ๋๋ฅด๋ฉด ๋ฌธ์๊ฐ ์ถ๊ฐ๋จ | |
๊ณ ์นจ: ํธ์ง๊ธฐ ๋ชจ๋ ๋ฒํผ์ ์นดํธ ๋ฐํ์ ๋์๋ ํด๋ฆญ ๊ฐ๋ฅ | |
๊ณ ์นจ: .p8.pngํ์ผ์ ๋ถ๋ฅผ ๋๋ง๋ค ๋ผ๋ฒจ์ด ๋ฆฌ์ ๋์ด์ ๋ค์ ์ฐ์ด์ผ ํจ | |
๊ณ ์นจ: export() ์คํจ ์์ ์คํจ๋ฅผ ์๋ฆฌ์ง ์์ | |
๊ณ ์นจ: ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์์ mset()์ผ๋ก ๋ฐ๋ ๋ถ๋ถ์ peek() / sget()์ผ๋ก ์ฝ์ ์ ์์ | |
๊ณ ์นจ: cstore()๊ฐ ํธ์ง๋ ์ฝ๋๋ฅผ ์ ์ฅํจ | |
๊ณ ์นจ: ์์ ์ฌ์ ์ค ํจํด์ด ๋ฐ๋ ๋๋ง๋ค ํ๋ ์๋ฆฌ๊ฐ ๋จ | |
v0.1.7 | |
์ถ๊ฐ: menuitem() | |
์ถ๊ฐ: ์ฝ๋ ๋ด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฒํผ ๋ฌธ์glyph (shift-L, R, U, D, X, O) | |
์ถ๊ฐ: ์ฌ์ฉ์ ์ง์ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ (e.g. pico8 -home mydata) | |
์ถ๊ฐ: ์น gpio ํ: ์๋ฐ์คํฌ๋ฆฝํธ๋ก pico8_gpio[]๋ฅผ ์ฝ๊ณ ์ฐ๊ธฐ | |
๊ณ ์นจ: SPLORE ๊ฒ์์ด ๋ฆฌ์ ๋์ง ์์ | |
๊ณ ์นจ: Splore๊ฐ ์ถ๊ฐ์ ์ผ๋ก ํญ๋ชฉ์ ๋ก๋ํ ํ์ 33๋ฒ์งธ ์นดํธ๋ฅผ ์คํต | |
๊ณ ์นจ: splore์์ ๋ก์ปฌ ์ด์ง ํ์ผ์ ์ ํํ์ ๋ ํฌ๋์ ๋ฐ์ | |
๊ณ ์นจ: ์ธ๋ฏธ์ฝ๋ก ์ ๋ฆฌ์คํธ ํน์ ๋ฌธ์ฅ์ ๊ตฌ๋ถ์๋ก ์ฌ์ฉํ ์ ์์ | |
๊ณ ์นจ: html๋ก ์ถ์ถ๋ ์นดํธ๊ฐ ์ค์ค๋ก cstore๋ฅผ ํ ์ ์์ | |
v0.1.6 | |
์ถ๊ฐ: SPLORE ๋ก์ปฌ & bbs ์นดํธ๋ฆฌ์ง ํ์๊ธฐ | |
์ถ๊ฐ: setmetatable(), cocreate(), coresume(), costatus(), yield() | |
์ถ๊ฐ: ์นดํธ ์ ํ ํน์ ์นดํธ์ ์ฐ๊ธฐ ์ค์ผ ๋ ๋์๊ฐ๋ ์นดํธ ์์ด์ฝ ํ์ | |
์ถ๊ฐ: ์นดํธ๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ํ๋ ์ดํ ๋๋ฅผ ์ํ ์๊ตฌ ์ ์ฅ์ | |
์ถ๊ฐ: ์กฐ์ ๊ฐ๋ฅํ ํ๋ฉด ๋น์จ (-aspect 420 -> 1:1) | |
๋ณ๊ฒฝ: Lua ๋ฉ๋ชจ๋ฆฌ ์ ํ: 1024k (๊ธฐ์กด 512k) | |
๋ณ๊ฒฝ: ์์ ์ด sfx์ ์์ค์ ๋นํ ํbeing clobbered์๋ ์ด์ ๋ค์ ์ ์์ ์ผ๋ก ์ฌ์๋จ | |
๋ณ๊ฒฝ: SFX ์๋๊ฐ 8 ์ดํ์ผ ๋ ์๋ฅดํ์ง์ค ์๋๋ฅผ ๋ ๋ฐฐ๋ก | |
๋ณ๊ฒฝ: ์์ถ๋ ์ฝ๋ ๊ธธ์ด ์ ํcompressed code limit์ ์ด๊ณผํด๋ .p8 ํ์์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ ๋ง์ง ์์ | |
๋ณ๊ฒฝ: spr() ์๋ชจ ์์๋์ ๋ฐ์ผ๋ก ์ค์ฌ map()๊ณผ ๋น์ทํด์ง๋๋ก ํจ | |
๋ณ๊ฒฝ: 16์ง์ ์์ ํ๊ธฐ: 0x0.3 == 0x0.3000, (์ด์ ์ 0x0.0003) | |
๋ณ๊ฒฝ: : ์ฐ์ฐ์๋ฅผ ํ ํฐ ์์ ํฌํจํ์ง ์์ (.์ ๋์ผ) | |
๋ณ๊ฒฝ: cstore() ์คํ ์ ๋์คํฌ์ ์ง์ ๊ธฐ๋ก | |
๋ณ๊ฒฝ: cstore(), reload() ์คํ ์ ์ฝ๊ฑฐ๋ ์ด ๋ฐ์ดํธ ์๋ฅผ ๋ฐํ | |
๋ณ๊ฒฝ: ๊ตฌ๋ ์ค save() ์คํ ์ ์๋ฌด ๊ฒ๋ ํ์ง ์์ (cstore()๋ฅผ ๋์ ์ฌ์ฉํ ๊ฒ) | |
๋ณ๊ฒฝ: ๊ตฌ๋ ์ค load() ์คํ์ ์ง์ ๋ ์นดํธ๋ฆฌ์ง๋ฅผ ๋ค์ ๋ก๋ํ๊ณ ์คํ | |
๊ณ ์นจ: ์ค๋์ค ๋ฏน์์์ ์ํ ํํ๊ฐ ๋๊ฒจ์ ์๊ธฐ๋ ํ๋ ์๋ฆฌpops | |
๊ณ ์นจ: HTML5๋ก ์ถ์ถํ์ ๋ Chrome์์ ์๋ฆฌ๊ฐ ์ฌ๊ฐํ๊ฒ ๋๊น | |
๊ณ ์นจ: GIF๋ก ์ถ์ถํ ๋ ํ๋ฉด ํ๋ ํธ๊ฐ ๋ณด์ด์ง ์์ | |
๊ณ ์นจ: ํค์ ๋ ฅ์ด ๊ฒฉ๋ ฌํด์ง ๊ฒฝ์ฐ ํธ๋์ปค์ ์ฝ๋ ํธ์ง๊ธฐ์์ ์ฝ๊ธฐ ํ์ ์ค๋ณต์ด ์๊น | |
๊ณ ์นจ: ์ฃผ์ ์์ +=๊ฐ ํ๋ฆฌํ๋ก์ธ์preprocessor๋ฅผ ๋ง๊ฐ๋จ๋ฆผ | |
๊ณ ์นจ: sspr()๊ฐ ์ผ๋ถ๋ถ๋ง ์ ํ๋์์ ๋์๋ ๋์ผํ cpu ์ฌ์ฉ๋์ ๊ฐ์ง | |
๊ณ ์นจ: ์๋ชป๋ ์ธ์ ๊ฐ์ cartdata()๋ก ๋ณด๋์ ๋ ํฌ๋์ ๋ฐ์ | |
๊ณ ์นจ: ๋ช ๋ น์ค์์ EXPORT๋ฅผ ์คํํ๋ ค๋ฉด ๊ดํธ์ ๋ฐ์ดํ๋ฅผ ๋ฃ์ด์ผ ํจ | |
v0.1.5 | |
์ถ๊ฐ: Raspberry Pi ๋น๋ | |
์ถ๊ฐ: ํ๋ ์ด์ด ๋ฒํผ์ ํค๋ณด๋ ์ค์ (KEYCONFIG) | |
์ถ๊ฐ: ์์ ํธ๋์ปค ์ ํ / ๋ณต์ฌ / ๋ถ์ฌ๋ฃ๊ธฐ | |
์ถ๊ฐ: ์ค๋์ค ๋๊ตฌ์์ ํ ๋จ๊ณ ์คํ ์ทจ์ | |
์ถ๊ฐ: ์๋ฆฌ ํธ์ง๊ธฐ์์ ์ฃผํ์ ๋ฏธ๋ฆฌ ๋ฃ๊ธฐ | |
๊ณ ์นจ: ๋ช ๋ น์ด ํ์คํ ๋ฆฌ๋ฅผ ๋ถํ ๊ฐ์๋ ๋ณด์กด | |
๊ณ ์นจ: Sfx ์ถ์ถ๊ธฐ | |
๊ณ ์นจ: ์ฃผ์ ๋์ ์ฌ๋์๋ฅผ ์ฌ๋์ ๋ ๊ฐ๋ก ์ฒ๋ฆฌ | |
๊ณ ์นจ: Windows์์ ์ฝ์๋ก ์นดํธ ๋ถ๋ฅด๊ธฐ | |
v0.1.4d | |
v0.1.4c | |
๊ณ ์นจ: ์ธ๊ตญ์ด ๋ฌธ์๊ฐ ๋ค๋ฅธ ๋ฌธ์๋ฅผ ๊ฐ์ด ์ฝ์ ์ํด | |
๊ณ ์นจ: ํญ์ด ๋ค์ด๊ฐ ์ค์ด ์ปค์ ์์น์ ๋์คํ๋ ์ด ์์ญ์ ๋ง๊ฐ๋จ๋ฆผ | |
v0.1.4b | |
๊ณ ์นจ: OSX ์ปค๋งจ๋ํค ์กฐํฉ | |
v0.1.4 | |
์ถ๊ฐ: import("blah.png"), export("blah.png")๋ก ์คํ๋ผ์ดํธ ์ํธ ๋ถ๋ฌ๋ค์ด๊ธฐ/์ถ์ถ | |
์ถ๊ฐ: export("blah%d.wav")๋ก sfx ์ถ์ถ | |
์ถ๊ฐ: reload()์ cstore()์ ์ธ๋ถ ์นดํธ๋ฆฌ์ง ์ธ์ | |
์ถ๊ฐ: ์ง์์ Persistent ์นดํธ ๋ฐ์ดํฐ (๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 0x5e00) | |
์ถ๊ฐ: ํ ํฐ ์ ํ ํ์๋ฅผ ํด๋ฆญํด์ ํ ํฐ & ๊ธ์์ ์ ํ ํ์๋ก ์ ํ | |
์ถ๊ฐ: assert(), type() | |
์ถ๊ฐ: P๋ก ๋ฉ์ถ๊ธฐ | |
๋ณ๊ฒฝ: ์ฝ๋ ๊ธ์์ ์ ํ: 64k (๊ธฐ์กด 32k) | |
๋ณ๊ฒฝ: ์ง์ญ ์ ์ธ๊ณผ ์ธ๋ฏธ์ฝ๋ก ์ด ํ ํฐ์ผ๋ก ๊ฐ์ฃผ๋์ง ์์ | |
๋ณ๊ฒฝ: ๊ดํธ ํ์๊ณผ ๋ธ๋ก delimitations๋ฅผ ํ ํฐ ํ๋๋ก ๊ฐ์ฃผ | |
๋ณ๊ฒฝ: _update() ๋ _draw() ๋ง ์์ด๋ ๋ฉ์ธ ๋ฃจํ ์ง์ ๊ฐ๋ฅ | |
๋ณ๊ฒฝ: ์ฝ๋ ํธ์ง๊ธฐ์์ ์ญ์ฌ๋์๋ฅผ ํ์ฉ | |
๋ณ๊ฒฝ: info()๊ฐ ํ์ฌ(๋ง์ง๋ง์ผ๋ก ๋ถ๋ฅด๊ฑฐ๋ ์ ์ฅํ) ํ์ผ์ด๋ฆ์ ๋ณด๊ณ ํจ | |
๋ณ๊ฒฝ: html5 ๋ฒ์ ์ด NO_DYNAMIC_EXECUTION ๋ก ์ปดํ์ผ ๋จ | |
๋ณ๊ฒฝ: ํ ์ธ์ ์์ ์ต๋ 64๊ฐ์ ํ์ผ๊น์ง๋ง cstore๋ฅผ ์ฌ์ฉํ ์ ์์ | |
๋ณ๊ฒฝ: load() ์คํ ์ ์๋์ผ๋ก ์นดํธ์ ๋ฐ์ดํฐ ์น์ ์ ๋ฒ ์ด์ค ram์ ๋ณต์ฌํจ | |
๊ณ ์นจ: ์คํ๋ผ์ดํธ๋ฅผ Shift-๋๋๊ทธ-๋ณต์ฌ -> ๋ถ์ฌ๋ฃ๊ธฐ ์ 1x1 ์์ญ๋ง ๋ถ์ฌ๋ฃ์ | |
๊ณ ์นจ: ".." ๋ฅผ ํ ํฐ ํ๋๋ก ์ฒ๋ฆฌ | |
๊ณ ์นจ: ํธ๋์ปค์์ . ๋์ D ๋ฅผ ํ์ | |
๊ณ ์นจ: ์ฌ๋ฌ ์ค ์ฃผ์ | |
๊ณ ์นจ: ์ฝ๋ ๊ธธ์ด๊ฐ ๋ฌธ์ ์ ํ์ ๊ฐ๊น์ธ ๊ฒฝ์ฐ์ ์คํ ์ ํฌ๋์ ๋ฐ์ | |
๊ณ ์นจ: ํ ํฐ ์ ์ ํ์ ์ด๊ณผํ์ ๋ ์ด๋ค ๋ช ๋ น์ด๋ ์คํํ ์ ์์ | |
๊ณ ์นจ: SFX ์น์ ์์ ์ฌ์ฉํ์ง ์์ high bits๊ฐ .p8๋ก ํฌ๋งทํ ๋ ์ ์ฅ๋์ง ์์ | |
๊ณ ์นจ: ์นด๋ฉ๋ผ ์์น์ ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ด ์ฑํฌ๊ฐ ๋ง์ง ์์ | |
๊ณ ์นจ: Windows ์ธ์คํจ๋ฌ์์ pico8.txt ๋งํฌ๊ฐ ๊นจ์ง | |
๊ณ ์นจ: print()์ ๋ฌธ์์ด์ด๋ ์ซ์๊ฐ ์๋ ์ธ์๋ฅผ ๋ฃ์์ ๋ ํฌ๋์ ๋ฐ์ | |
๊ณ ์นจ: ์ฌ๋ฌ์ค์ ๋ฌธ์์ด์ด๋ ํ์ฅ ๋ฌธ์escape chars๊ฐ ํ ํฐ ๊ฐฏ์์ print()์ ์ํฅ์ ์ค | |
๊ณ ์นจ: ์กฐ์ด์คํฑ์ left stick์ด ์ผ์ชฝ ์๋ฅผ ํฅํ๊ณ ์์ ๋ ๋ฐ์ํ์ง ์์ | |
๊ณ ์นจ: Alt-F4๋ฅผ ๋๋ฅผ ๋ ๋๊ฐ๊ธฐ ์ ์ ์คํฌ๋ฆฐ์ท์ ์ฐ์ | |
๊ณ ์นจ: ์ ์ฒด ํ๋ฉด ๋ชจ๋์์ ์คํ๋ผ์ดํธ ํธ์ง๊ธฐ์ ๋ชจ๋ ๋ฒํผ์ด ๋ณด์ด์ง ์์ | |
๊ณ ์นจ: -sound ์ธ์๊ฐ html5 ๋ฒ์ ์์ ์๋ํ์ง ์์ | |
v0.1.3 | |
์ถ๊ฐ: ๋ช ๋ น์ค๋ก ๋ถ์ฌ๋ฃ๊ธฐ | |
๊ณ ์นจ: lua ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ๊ทผํ ์ ์์ | |
๊ณ ์นจ: ๋ช ๋ น์ค ๋ก๋ฉ์ด ์๋ํ์ง ์์ | |
๊ณ ์นจ: ๋ชจ๋ ํธ๋์ ์ํ ์ค์ ์ด ๋์ด์์ ๋ ์์ ํจํด์ด ๋๋ฌด ๋นจ๋ฆฌ ๋๋จ | |
๊ณ ์นจ: sfx ์ฃผ์ ๋์ญ์์ ํ์ ๋ฒ์งธ ๋ฐ์ดํธ๋ฅผ peek()ํ์ ๋ 7๋ฒ ๋นํธ๊ฐ ๋ง์คํน ๋จ | |
๊ณ ์นจ: ์ฝ๋ ๋ด์์ cstore ์คํ ํ ๋ค์ ๋ถ๋ ์ ๋ ์๋ฌด๋ฐ ํจ๊ณผ๊ฐ ์์ด์ผ ํจ | |
v0.1.2 | |
์ถ๊ฐ: html5 ์นดํธ๋ฆฌ์ง ์ถ์ถ๊ธฐ | |
์ถ๊ฐ: ์นดํธ๋ฆฌ์ง ์ธ์ด๋ธ ๋ฐ์ดํฐ (64 ๊ณ ์ ์์์ ์) | |
์ถ๊ฐ: 8-ํ๋ ์ด์ด ์ ๋ ฅ | |
์ถ๊ฐ: ๋ฐ๋ชจ ์นดํธ: COLLIDE, BUTTERFLY | |
์ถ๊ฐ: ์ปค๋งจ๋๋ผ์ธ ํ๋ผ๋ฏธํฐ // ์นดํธ ๋ถ๋ฅด๊ธฐ, -run, ์ค์ | |
์ถ๊ฐ: ํ์ ํค์ ๋์ (F6..F9์ F1..F4์ฒ๋ผ ์ฌ์ฉ) | |
์ถ๊ฐ: pairs() | |
์ถ๊ฐ: ๋๋ฒ๊ทธ๋ฅผ ์ํ printh() | |
์ถ๊ฐ: ์ฝ์์์ ํญ์ผ๋ก ํ์ผ์ด๋ฆ ์๋์์ฑ | |
์ถ๊ฐ: ๋ฐํ์ ์๋ฌ์ ์คํ ํธ๋ ์ด์คstack trace ์ ๊ณต | |
๋ณ๊ฒฝ: ์์ ํจํด ๊ธธ์ด๋ฅผ ์ฒซ๋ฒ์งธ ๋น์ํ ์ฑ๋์ ๊ธธ์ด๋ก | |
๋ณ๊ฒฝ: ๋ ธ์ด์ฆ ์ ๊ธฐ(6)์ ์ ๋์ญ ํ์ดํธ ๋ ธ์ด์ฆlow frequency white nose๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ์กฐ์ ๊ฐ๋ฅ | |
๋ณ๊ฒฝ: ์คํฌ๋ฆฐ์ท์ด ํ์ฌ ํด์๋์์ ์๋์ฐ ๋ด์ ์ ์ฒด ์์ญ์ ์บก์ณ | |
๋ณ๊ฒฝ: del() ์คํ ์ ํ ์ด๋ธ ๋ด์ ๋น ๊ณต๊ฐ์ ๋ง๊ธฐ ์ํด ๋จ์ ํญ๋ชฉ๋ค์ ์์ผ๋ก ๋น๊น | |
๋ณ๊ฒฝ: add(),del(),count(),all()์ด ๋ ์ด์ ์ถ๊ฐ์ ์ธ ํ๋๋ฅผ ์ ์ฅํ์ง ์์ | |
๋ณ๊ฒฝ: ๋ฌธ์์์ count() ์ญ์ -- ์ด์ legacy funcion์ผ๋ก ๋จ์ ์์ต๋๋ค. # ์ฐ์ฐ์๋ฅผ ๋์ ์ฌ์ฉํ์ธ์. | |
๋ณ๊ฒฝ: ์๋์ฐ๊ฐ ํ์ฑํ๋์์ ๋์๋ง ์ปค์๊ฐ ๋ฐ์ง์ | |
๋ณ๊ฒฝ: peek(), poke(), ์ด์ง ์ฐ์ฐ์(band()..)๊ฐ ๋ ์ด์ function call overhead๋ฅผ ๊ฐ์ง ์์ | |
๋ณ๊ฒฝ: ๋ ธ๋์์ ์ข ๋ ๋ฐ๋ปํ๊ฒ | |
๋ณ๊ฒฝ: ๋ ์ด์ ๋งต ํธ์ง๊ธฐ์์ ํจ๋ํ ํ์ ์นด๋ฉ๋ผ ์ค๋ดํsnapping์ด ๋ฐ์ํ์ง ์์ | |
๊ณ ์นจ: 0 ์ด๋ >= 32761 ์์ sqrt()๊ฐ ํฌ๋์ | |
๊ณ ์นจ: ํ ์คํธ ํธ์ง๊ธฐ์์์ ์ธ๋ฏธ์ฝ๋ก ๋ฌธ์ | |
๊ณ ์นจ: .p8 ํ์์ผ๋ก ์ ์ฅํ ๋ ๊ธด ์ค์ด ๋๋ ์ง | |
๊ณ ์นจ: pget()์ด ์นด๋ฉ๋ผ ์์น์ ์ํฅ์ ๋ฐ์ง ์์ | |
๊ณ ์นจ: peek(), poke()๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ ์ฃผ์ ์ด์ธ์ ๋ฒ์์์ ์ฌ์ฉํ ๋ ์๋ฌ ๋ฉ์ธ์ง | |
๊ณ ์นจ: ์ ์ฐพ์ ๋ฐ๊พธ๊ธฐ๊ฐ ์ ํ ์์ญ์ผ๋ก๋ถํฐ ํ ํฝ์ ๋ฐ๊น์ง ์์น | |
๊ณ ์นจ: ๋น ์์ ํจํด์ ์ฌ์ํ๋ฉด ์ดํ ์์ ์ฌ์์ ๋ฐฉํดํจ | |
๊ณ ์นจ: ์์ ์ ์ ํจํ์ง ์์ sfx ํธ์ง ์ํ๋ฅผ ๊ฐ์ | |
๊ณ ์นจ: ์ฃผํ์ ๋ณด๊ธฐ์์ ์ ๊ธฐ๋ฅผ ๋ฒ์ ์ง์ ํ ๋ ๋ณผ๋ฅจ๊น์ง ๊ฐ์ด ์ง์ ๋จ | |
๊ณ ์นจ: gif ๋ นํ ์๋๊ฐ ์ผ์ ์น ์์ | |
๊ณ ์นจ: ์กฐ์ด์คํฑ ์ฌ์ฉ ์ ํค ๋งคํ์ด ๋์ง ์๋ ๋ฌธ์ Unmapped joystick support | |
๊ณ ์นจ: ์์ถ๋ ์ฝ๋ ํฌ๊ธฐ๊ฐ ๊ฐ๋ ์์ถ ์ ๋ณด๋ค ์ปค์ง | |
๊ณ ์นจ: ์ฒซ ๋ฒ์งธ ์ธ์ ๊ฐ์ด ๊ฐ์ฅ ์์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ mid()๋ฅผ ๊ตฌํ ์ ์์ | |
๊ณ ์นจ: ์ฝ๋ ํธ์ง๊ธฐ์์ ์คํฌ๋กค ํ ์ ๊ตด๋ฆฌ๋ฉด ์คํ๋ผ์ดํธ/๋งต ํ๋ ์์ค์ด ๋ฐ๋ | |
๊ณ ์นจ: CTRL-R(๋น ๋ฅธ ๊ตฌ๋) ์ ๋ช ๋ น์ด ๋ชจ๋์์ ํ์ฌ ์ค ์๋ก ๊ทธ๋ฆผ | |
๊ณ ์นจ: ๋ผ๋ฒจ ์บก์ณ(F7)๊ฐ ์คํฌ๋ฆฐ์ ํ๋ ํธ ์ํ๋ฅผ ๋ฐ์ํ์ง ์์ | |
๊ณ ์นจ: API ํจ์์ 16์ง์ ์ซ์์ ํ์ด๋ผ์ดํ | |
๊ณ ์นจ: ๊ฐ์ ์ค์ด๋ฉฐ 0๊น์ง ์ํlooping์ํฌ ๊ฒฝ์ฐ 1์์ ์ํ์ ๋ฉ์ถค | |
๊ณ ์นจ: nil๊ฐ์ด false๋ก ์ถ๋ ฅ๋จ | |
๊ณ ์นจ: 16์ง์ ์์์ ๋ถ | |
๊ณ ์นจ: ํ๋ ์์ ์คํตํ ๋ btnp()๊ฐ ์ ๋๋ก ์๋ํ์ง ์๋ ๋ฌธ์ | |
๊ณ ์นจ: ctrl-r๋ก ๊ตฌ๋ํ ๋ ํธ์ง ๋ชจ๋๋ฅผ ์์ด๋ฒ๋ฆฌ๋ ๋ฌธ์ | |
๊ณ ์นจ: ํธ๋์ปค ๋ ธํธ์ ์ํธ๋ฆฌ ํค๊ฐ ๋งคํ๋์ด ํผ์๋ ธ ํํ์ ๋ ์ด์์์ ๋ง์นจ | |
๊ณ ์นจ: ์ผ๋ถ ํธ์ง๊ธฐ ์ฐ์ฐ ์ดํ์ ๊ณต์ gfx/map ๋ฉ๋ชจ๋ฆฌ์ ์ฑํฌ๊ฐ ์ด๊ธ๋จ | |
๊ณ ์นจ: Alt-gr ๋ฌธ์ ์ ๋ ฅ | |
๊ณ ์นจ: poke()๋ฅผ ์ด์ฉํด 16๋ฒ์งธ ์ด์์ ์ํธ๋ฆฌ์ ํ๋ฉด ํ๋ ํธ๋ฅผ ๋งคํํ ์ ์์ | |
๊ณ ์นจ: ์ฝ๋ ํธ์ง๊ธฐ์์ shift๋ฅผ ์ด์ฉํด์ ์ ํํ ๋ ์๋ชป๋ ์ ํ ๋ฒ์๋ฅผ ๊ฐ์ | |
๊ณ ์นจ: ์ต์์ ํ ์คํธ ๋๋จธ๋ก ๋๋๊ทธํ์ ๋ ์ ํ ๋ฒ์๊ฐ ์ตํ๋จ๊น์ง ๋ค์งํ | |
๊ณ ์นจ: ํ์ผ ๋ฆฌ์คํธ์ ๋์ ์ค๋ณต ํญ๋ชฉ์ด ๋ฐ์ | |
v0.1.1 | |
์ถ๊ฐ: ํ ํฐ ๊ธฐ๋ฐ ์ฝ๋ ์ ํ (8192 ํ ํฐ, 32k ascii ํ ์คํธ) | |
์ถ๊ฐ: ์คํ๋ผ์ดํธ ๋ฐ ๋งต ํธ์ง๊ธฐ์์ freeform move, pan, selection | |
์ถ๊ฐ: Flood-fill ๋๊ตฌ (์คํ๋ผ์ดํธ, ๋งต) | |
์ถ๊ฐ: .GIF ์ ์ฅ | |
์ถ๊ฐ: CTRL-Stamp ๋ก ํฌ๋ช ๋๋ฅผ ํฌํจํ ์คํฌํ ์ฐ๊ธฐ | |
์ถ๊ฐ: ๋งต๊ณผ ์คํ๋ผ์ดํธ์์ ํ ๋จ๊ณ ์คํ ์ทจ์ ๊ธฐ๋ฅ | |
์ถ๊ฐ: 2x2 ๋ธ๋ฌ์ | |
์ถ๊ฐ: sqrt(), atan2() | |
์ถ๊ฐ: CTRL-S ๋ก ๋น ๋ฅธ ์ ์ฅ | |
์ถ๊ฐ: CTRL-R ๋ก .p8 file์ ๋ค์ ๋ถ๋ฌ์ ์คํ (์ธ๋ถ์์ ํ ์คํธ๋ฅผ ํธ์งํ ๋ ์ ์ฉ) | |
์ถ๊ฐ: ๋ฎ์ด์ฐ๊ฑฐ๋ ์ ์ฅํ์ง ์๊ณ ๋๊ฐ ๋ ์๋์ผ๋ก ๋ฐฑ์ ๋ง๋ค๊ธฐ | |
์ถ๊ฐ: ์คํ๋ผ์ดํธ ํธ์ง๊ธฐ์์ ์คํฌ๋กค ํ ๋ก ํ๋/์ถ์ | |
์ถ๊ฐ: ์ฌ์ฉ์ ์ ์ ํด์๋ // e.g. pico8 -width 580 | |
์ถ๊ฐ: ๋ฌธ์์ด์ ์ด๋ก์์ผ๋ก ํ์ด๋ผ์ดํธ | |
์ถ๊ฐ: ALT-click์ผ๋ก ์ฐํด๋ฆญ์ ๋์ ํ๊ฒ ์ค์ ํ ์ ์์ (config.txt ์ฐธ์กฐ) | |
์ถ๊ฐ: spr(), sspr()์ ํฌ๋ช ๋๋ฅผ ์กฐ์ ํ๋ palt() | |
์ถ๊ฐ: info() | |
๋ณ๊ฒฝ: load()๋ก ๋ถ๋ฌ์ค๋ ค๋ ํ์ผ์ด ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ .p8.png, .png์ ์๋ํจ | |
๋ณ๊ฒฝ: ๊ทธ๋ฆฌ๊ธฐ ๋์์ด ํ์ฌ ์ ํ์ค์ธ ์์ญ์๋ง ์ ์ฉ๋จ | |
๋ณ๊ฒฝ: ์ ํ ์์ญ์ด ์กด์ฌํ ๊ฒฝ์ฐ ์ปค์ ์ด๋ ๋์์ด ํด๋น ์์ญ ์์์๋ง ์๋ํจ | |
๋ณ๊ฒฝ: time() ์ ๊ฑฐ | |
๋ณ๊ฒฝ: ๋์ ์๋๊ฐ ์นดํธ ๊ตฌ๋์ ์์๋ก ์ค์ ๋จ | |
๋ณ๊ฒฝ: api ํจ์๊ฐ ์ ๋๋ก ์นดํธ rom์ ์ง์ ์ฝ์ง ์์ | |
๋ณ๊ฒฝ: sspr()๊ฐ dw, dh ๊ฐ์ผ๋ก ์์๋ฅผ ๋ฐ์ ์ ์์ | |
๊ณ ์นจ: ํฌ์ ํ ์ด๋ธsparse table์ ์ ์ ์ธ๋ฑ์ฑ ์คํจ | |
๊ณ ์นจ: ํ ๋น ์ฐ์ฐ์์ ์๊ธฐ ํ if-then-else ์๋ ์คํจ | |
๊ณ ์นจ: w0 == 128์ผ ๋ sspr() ์๋ ์คํจ | |
๊ณ ์นจ: ์นด๋ฉ๋ผ๊ฐ (0,0)์ด ์๋ ๋ ์ ๊ทธ๋ฆฌ๊ธฐ ์คํจ | |
๊ณ ์นจ: CPU ๋ ์ hogging | |
๊ณ ์นจ: ๋ ธ์ด์ฆ ์ ๊ธฐ๊ฐ rnd() ์์์ ์ํฅ์ ๋ผ์นจ | |
๊ณ ์นจ: ํ๋ก๊ทธ๋จ ๋ฆฌ์ ์์ ์ค๋์ค ์์คํ ์ด ๋ฆฌ์ ๋์ง ์์ | |
๊ณ ์นจ: % ์ฐ์ฐ์๊ฐ ๊ฐ๋ ์์ ๊ฐ์ ๋ํด ํ๋ฆฌ๊ฒ ์๋ | |
๊ณ ์นจ: ๊ธธ์ด ์ฐ์ฐ์ (#) | |
๊ณ ์นจ: ์ ๊ณฑ ์ฐ์ฐ์ (^) | |
๊ณ ์นจ: ํ๋ฉด ์ค๋ฅธ์ชฝ๊ณผ ์๋์ชฝ์์ ์ค์ด ์๋ฆฌ๋ ๋ฒ๊ทธ | |
๊ณ ์นจ: print()์ ์ ์ ํ์ ์ ๋ฐ๋precision | |
๊ณ ์นจ: print()๊ฐ ์์ y ๊ฐ์ ์ถ๋ ฅํ ๋ ๋ฌธ์ ๋ฐ์ | |
๊ณ ์นจ: ํ ํฐํ์ ํค์๋ ํ์ด๋ผ์ดํธ | |
๊ณ ์นจ: ์คํ๋ผ์ดํธ ์์ฑ์ด ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ๋์ง ์์ | |
๊ณ ์นจ: sfx 0..32 ๋ง์ด ์์ ํจํด์ผ๋ก ์ฌ์ฉ๋ ์ ์์ | |
๊ณ ์นจ: .p8์ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ๋ ์ฝ๋ ๋์ ์ ์ค์ด ์๊น | |
๊ณ ์นจ: ์ฝ๋ ํธ์ง๊ธฐ์์ ์ผ์ชฝ ์ฌ๋ฐฑ์ ๋๋๊ทธ๋ก ์ ํ -> ์ ์ฒด ์ ํ | |
v0.1.0 | |
์ถ๊ฐ: ๋ฐ๋ชจ ์นดํธ: hello.p8 (install_demos๋ก ์ค์น) | |
์ถ๊ฐ: ์ด๋์๋ CTRL-R๋ก ์นดํธ ์คํ/์ฌ์์ | |
์ถ๊ฐ: gfx ํธ์ง๊ธฐ์์ a,s ๋ก ์ ์ ํํ๊ธฐ | |
์ถ๊ฐ: ํ์ ๋ฐฐ๊ฒฝํ๋ฉด | |
์ถ๊ฐ: ์ผ๊ด์ consistent CPU ์ํ ๋น์ฉ | |
์ถ๊ฐ: btn(), btnp()๋ฅผ ์ธ์ ์์ด ํธ์ถํ ๊ฒฝ์ฐ ๋นํธํ๋๋ฅผ ๋ฐํ | |
์ถ๊ฐ: fget(id)๊ฐ ํด๋น ์คํ๋ผ์ดํธ ํ๋๊ทธ์ ๋นํธํ๋๋ฅผ ๋ฐํ | |
๋ณ๊ฒฝ: ์ผ๊ด์ฑ์ ์ํด์ mapdraw()๋ฅผ map()์ผ๋ก ๋ฐ๊ฟ | |
๋ณ๊ฒฝ: ๊ธฐ๋ณธ sleep ์๊ฐ์ 5ms๋ก (๋ฉํ ์ปดํจํฐ์์ CPU ์ฌ์ฉ์ด ๋ ์พ์ ํจ) | |
๊ณ ์นจ: ๋ฉ๋ชจ๋ฆฌ ๋ฆฌ๋ฏธํฐ | |
๊ณ ์นจ: ๋ถ์์ ํ ์ ๋ฐ ์ ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ | |
๊ณ ์นจ: sfx ํธ์ง๊ธฐ์์ shift-click ์ผ๋ก ๋ณผ๋ฅจ ์ ์ฒด ์ ์ฉํ๊ธฐ | |
๊ณ ์นจ: ์ ํฌ๋งทํ ์ด ๊ณผํ์ ๊ธฐ์๋ฒ์ผ๋ก ํ์๋จ | |
๊ณ ์นจ: ์ฝ์์์ ์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ์๋ฆผ | |
๊ณ ์นจ: ๋ฌธ์ ์คํ ์ทจ์text undo๊ฐ ์ค ๋ฒํธ๋ฅผ ๋ฐ๊ฟ ๋ ๋กค๋ฐฑ ํฌ์ธํธ๋ฅผ ์ ์ฅ | |
๊ณ ์นจ: print(str)๊ฐ ์ด์ x๊ฐ์ ์ค๋ฐ๊ฟ ๋ฌธ์carriage return๋ฅผ ์ถ๊ฐํจ | |
v0.0.5 | |
์ถ๊ฐ: help() | |
์ถ๊ฐ: Ctrl+F / Ctrl+G ๋ก ํ ์คํธ ๊ฒ์, ๋ฐ๋ณต | |
์ถ๊ฐ: ์ฝ๋ ํธ์ง๊ธฐ del ํค | |
์ถ๊ฐ: IF ๋ฌธ์ ํ ์ค ์ง๋ฆฌ ์๊ธฐ ํ๊ธฐ | |
์ถ๊ฐ: ๋จํญ ์ฐ์ฐ์ += -= /= *= %= | |
์ถ๊ฐ: srand(), time(). rnd() ๋ฅผ ๋ฌธ์์ ์ถ๊ฐ | |
์ถ๊ฐ: Ctrl+D ๋ก ์ค ๋ณต์ฌ | |
์ถ๊ฐ: ๋ํํ ์ฌ๋ฌ ํ์ด์ง ํ์ผ ๋ฆฌ์คํธ ํจ์ ls() | |
์ถ๊ฐ: band() bor() bxor() bnot() shl() shr() | |
์ถ๊ฐ: ๋ฐํ์ ์๋ฌ ์ค ๋ฒํธ | |
์ถ๊ฐ: dir() (ls() ์์ผ๋ฆฌ์ด์ค) | |
๋ณ๊ฒฝ: print()๋ ์ธ์ ์์ด ํธ์ถ ๋์์ ๋์๋ง ์คํ ์คํฌ๋กค | |
๋ณ๊ฒฝ: alt+up/down ๋ก ํจ์ ์ ์ธ๋ค๋ก ๊ฑด๋ ๋ฐ๊ธฐ (ctrl์์ ๋ณ๊ฒฝ) | |
๋ณ๊ฒฝ: sspr() dw, dh์ ๊ธฐ๋ณธ๊ฐ์ sw, sh๋ก ์ ์ฉ | |
๊ณ ์นจ: .p8 format์ด๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์๋ ํ์ผ์ ๋ถ๋ฌ์ฌ ๋ ํฌ๋์ ๋ฐ์ | |
๊ณ ์นจ: ์ฌ๋ฌ๊ฐ์ง ํธ์ง๊ธฐ ์ปค์ ์์น ์ค๋ฅ | |
๊ณ ์นจ: ์ฝ๋๋ฅผ ๋ณด๊ธฐ ์ ๋ฌธ๋ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํฌ๋์ ๋ฐ์ | |
๊ณ ์นจ: ์ฌ๋ถํ ํ ์ค ๋ฐ๊ฟ ๊นจ์ง | |
๊ณ ์นจ: mkdir()๋ฅผ ์ธ์ ์์ด ๋ถ๋ฅผ ๊ฒฝ์ฐ "(null)" ๋๋ ํฐ๋ฆฌ ์์ฑ | |
๊ณ ์นจ: ์คํฌ๋กค ํ ๋ก ์ฝ๋๋ณด๋ค ํจ์ฌ ์๋ก ๊ฐ ์ ์๋ ํ์ | |
๊ณ ์นจ: alt-f4๋ก ๋น ๋ฅด๊ฒ ๋๊ฐ๊ธฐ | |
v0.0.4 | |
์ถ๊ฐ: Jelpi ๋ฐ๋ชจ ์นดํธ | |
์ถ๊ฐ: ๋ด๋ถ ์นดํธ // install_demos()๋ก ์ค์น | |
์ถ๊ฐ: ์กฐ์ด์คํฑ ์ง์ | |
์ถ๊ฐ: ์ฝ๋ ํธ์ง๊ธฐ ์คํ ์ทจ์/์ฌ์คํ | |
์ถ๊ฐ: ์ฝ๋ ํธ์ง๊ธฐ ์คํฌ๋กค ํ | |
์ถ๊ฐ: LCTRL + UP/DOWN ๋ก ์ฝ๋ ํธ์ง๊ธฐ์์ ํจ์๊ฐ ์ด๋ | |
์ถ๊ฐ: LALT + LEFT/RIGHT ๋ก ํธ์ง๊ธฐ ๋ชจ๋ ๋ฐ๊พธ๊ธฐ | |
์ถ๊ฐ: btnp() | |
์ถ๊ฐ: ๋ฐ๋ณต ์ํlooping sample ๋ฐ๋ณต ํ๊ธฐ (ํธ์ง๊ธฐ์์ a, ์ฝ๋์์ sfx(-2, channel)๋ก ์ฌ์ฉ) | |
๋ณ๊ฒฝ: ํ๋ก๊ทธ๋จ ์คํ ์ค๋จ์ ์์ ์ฌ์ ์ค๋จ | |
๋ณ๊ฒฝ: ์คํ๋ผ์ดํธ ํ๋๊ทธ 8๊ฐ ํ์ฉ | |
๋ณ๊ฒฝ: ๋ ธ์ด์ฆ ์ ๊ธฐ์ ์ ์๋ถ๋ฅผ ๊ฐํ | |
๊ณ ์นจ: Home, end ํค | |
๊ณ ์นจ: ์คํ๋ผ์ดํธ ํ๋๊ทธ 4,5๊ฐ ์ ์ฅ๋์ง ์์ | |
๊ณ ์นจ: mset()์ด ์ต์์ 4 ๋นํธ๋ฅผ ๋ฒ๋ฆผ | |
๊ณ ์นจ: ๊ธด ๋ฌธ์์ด ํ์ด๋ผ์ดํธ์ ํฌ๋์ ๋ฐ์ | |
v0.0.3 | |
์ถ๊ฐ: ํ๋ ํธ ๋งคํ ํ์ 1 (ํ๋ฉด) | |
์ถ๊ฐ: ์ปฌ๋ ์ (ํ ์ด๋ธ)์ c={1,2,..} ์ฒ๋ผ ์ด๊ธฐํํ๊ธฐ | |
์ถ๊ฐ: holdframe() // _draw(), update()์์ ์๋์ผ๋ก ์ฌ์ฉ | |
์ถ๊ฐ: ์คํ๋ผ์ดํธ ์ ํ ์์ญ ๊ฐ์ ์ ํ, ์์ | |
์ถ๊ฐ: ๋งต ์ ํ, ์คํฌํ ๋๊ตฌ | |
์ถ๊ฐ: ๋ชจ๋ ๋ณ๊ฒฝ ์ ๋ชจ๋ ํ๋ฉด ๋ณด์กด | |
์ถ๊ฐ: ์์ ์ฌ์์ ์ํ ์ฑ๋ ๋ง์คํฌ | |
์ถ๊ฐ: ์ค์๊ฐ ์ํฅ ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ ๋งคํ | |
์ถ๊ฐ: .png ์นดํธ ํ์ | |
์ถ๊ฐ: ์คํ๋ผ์ดํธ ๋ด๋น๊ฒ์ด์ ํค (-, +) | |
๊ณ ์นจ: 4-์ฑ๋ ์๋ฆฌ ์ ํ | |
๊ณ ์นจ: ์๋ sfx ์ฑ๋ ์ ํ (์ฑ๋ ์ธ๋ฑ์ค: -1) | |
v0.0.2 | |
์ถ๊ฐ: ๋ช ๋ น์ด ํ์คํ ๋ฆฌ | |
์ถ๊ฐ: P2 ํค | |
์ถ๊ฐ: ๋ถํธ ์ํ์ค | |
์ถ๊ฐ: ์๋์ฐ ๋ฐ 64๋นํธ ๋ฆฌ๋ ์ค ๋น๋ | |
์ถ๊ฐ: ๋ด๋ถ API ํจ์์ CPU ์ฌ์ฉ๋ | |
์ถ๊ฐ: ๊ฐ๋ณ์ ์์ ์ฑ๋ ์ธ๋ฑ์ค์ mute ์ํ | |
์ถ๊ฐ: ๋ฉ๋ชจ๋ฆฌ ๋งคํ | |
์ถ๊ฐ: ์คํ๋ผ์ดํธ ํธ์ง๊ธฐ์์ ์ ์ฐพ์ ๋ฐ๊พธ๊ธฐ | |
์ถ๊ฐ: ์คํ๋ผ์ดํธ์ ๋งต ๊ตฌ์ญ์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ | |
ํฅ์: ์ฆ๊ฐ์ ๋ช ๋ น์ด ํธ์ง | |
ํฅ์: ํธ์ง๊ธฐ ์ปค์ ์์ง์ | |
๊ณ ์นจ: ์๋ ์ค๋์ค ์ฑ๋ ์ ํ | |
v0.0.1 | |
์ฒซ ์ํ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment