마음 속 하늘은 항상 맑음~!

가벼운 Lua 게임 개발 플랫폼 LOVE 본문

프로그래밍

가벼운 Lua 게임 개발 플랫폼 LOVE

파르셀수스 2017. 1. 23. 16:28

 스팀의 "Move or Die"를 만든 lua 스크립트 인터프리터로 2d 게임을 만드는데 최적화된 툴이다. 기본 틀에 몇몇의 기능을 추가하면 어려운 노력을 들이지 않고도 가벼운 2D 게임을 만들 수 있다.


홈페이지 : https://love2d.org/


 무작정 편집기로 코딩을 하기엔 어려운터라 역시 자동완성을 해주는 편집기가 필요한데, 그중에 가장 좋아보이는게 바로 ZeroBrane Studio.


홈페이지 : https://studio.zerobrane.com/

다운로드 : https://download.zerobrane.com/ZeroBraneStudioEduPack-1.50-win32.zip


 압축을 풀고 그 안에 love2d를 풀어주면 필요한 작업은 간단히 끝난다. 하지만 여기서 끝이 아니고 love2d의 경로를 지정해줘야 한다. 그렇지 않으면 불평을 하면서 컴파일이 안된다며 찡찡댄다.



Edit -> Preference -> Settings : User를 선택하면 편집창에 user.lua파일이 하나 뜬다. 여기에 자신이 love2d를 풀었던 폴더의 실행파일 love.exe의 경로를 지정한다. "\"를 "/"로 바꾸어서 지정해야 한다.


path.love2d = '<파일 경로>/love.exe'



이렇게 파일에 내용을 입력하고 저장하고 zerobrane을 다시 시작하면 지정한 경로의 파일을 잘 찾는다. 이렇게 하면 일단 기본적인 준비는 다 되었다.


 기본적인 Hello 출력을 하는 스크립트를 작성한다면 다음과 같다.


mainfont = love.graphics.newFont("NanumBarunGothicLight.ttf",16)

function love.load(arg)
  if arg[#arg] == "-debug" then require("mobdebug").start() end
end
function love.draw()
  love.graphics.setFont(mainfont)
  love.graphics.setColor(20,255,0,255)
  love.graphics.print("무궁화꽃이 피었습니다 Hello", 100, 100)
end


 love2d에는 기본적인 3가지 핸들러 함수가 있는데,

 로딩할 때 작업을 하는 love.load(arg),

 화면을 그려주는 작업을 하는 love.draw(dt),

 주기적으로 업데이트 되는 동안의 작업을 하는 love.update(dt)가 있다.


 arg는 명령행의 옵션을 체크할 수 있고, dt는 업데이트되는 빈도가 소수점 단위로 찍힌다. "0.01" 정도가 일반적인 값으로 나올 것이다.


 아직 배워가는 중이라 자세한 내용은 잘 모르고, 붙여넣기를 통해서 솥이 움직이는 간단한 예제를 만들었다 =ㅅ=


love2d-sample01.zip




'프로그래밍' 카테고리의 다른 글

avast와 gdb와 w10.  (0) 2016.03.30
간단한 파일 웹서버 업데이트.  (0) 2015.02.28
txtworker 업데이트.  (0) 2014.12.27
minisheet 업데이트.  (0) 2014.12.09
웹파일 서버 업데이트.  (0) 2014.05.29