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

가벼운 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




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

가벼운 Lua 게임 개발 플랫폼 LOVE  (0) 2017.01.23
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
Tag
0 Comments
댓글쓰기 폼