PICO-8은 게임 루프(the game loop)를 만들기 위해 세 개의 특별한 함수를 사용한다. _init() 함수는 한 번 작동한다. 그 후 게임이 끝날 때까지 _update()와 _draw() 함수가 반복해서 작동한다. 아래는 PICO-8의 기본 구조이다. -- 뒤는 주석으로 각 함수가 어떤 작업을 하는지 설명한다.
function
_init()
--게임이 시작하면
--이 부분의 코드가 한 번 작동한다.
end
function
_update()
--매 초마다
--이 부분의 코드가 30번 작동한다
end
function
_draw()
--이 부분의 코드도
--매 초마다 30번 작동한다
--하지만 _update() 함수가 작동하고 난 다음에 작동한다
end
여러분의 모든 코드를 이 세 함수 안에 넣을 수 있지만 실제로는 그렇게 하는 건 좋은 방법이 아니다. 더 좋은 방법은 특정 작업을 하는 다른 함수를 만들고 _init(), _update(), _draw() 함수가 그 함수들을 작동시키는 것이다.
예를 들어, 플레이어의 동작 코드를 _update()에 넣는 대신 move_player()라는 함수를 만들어서 그것을 _update() 안에서 동작케 하는 것이다. 아래 그 예를 살펴보자.
function _init()
make_player()
end
function
_update()
move_player()
end
function _draw()
cls() --스크린 지우기
draw_player()
end
function make_player()
px=64
py=64
psprite=1
end
function
move_player()
if (btn(0)) px-=1 --왼쪽
if
(btn(1)) px+=1 --오른쪽
if
(btn(2)) py-=1 --위
if btn(3)) py+=1 --아래
end
function
draw_player()
spr(psprite,px,py)
end
이런 식으로 하면 게임 루프가 깔끔하게 정돈된다. 이로써 세 개의 특별한 함수로 게임이 어떻게 작동하는지 알아봤다.


댓글
댓글 쓰기