메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

love2d.org/

Love2D 홈페이지.


Lua로 2D 게임을 만드는 프레임워크입니다.

무료고, 오픈 소스이며, 윈도우, 맥, 리눅스에서 동작하며, 안드로이드에서 동작하게 하는 논의도 활발하다 합니다.


그럼 일단 받아봅시다. 아무리 좋아도 내 컴퓨터에 못 깔면 소용없지 않습니까?

Windows라면 LÖVE 0.8.0 for Windows 를 받습니다.

Installer와 Zipped가 있는데, Installer는 exe 파일을 컴퓨터에 설치하며

Zipped는 설치하지 않고 실행 가능한, 가지고 다닐 수 있는 포터블 버젼이라 생각하시면 되겠습니다.

전 Installer 깔았습니다.


혹시 다른 OS를 사용하는 분이라면 아쉽게도 다른 정리글을 찾아보셔야 할 겁니다.

저도 사실 Ubuntu를 사용하고 싶지만, Broadcom 무선랜 드라이버가 자꾸 유선랜과 충돌해서

뻗어버리는 현상 때문에 못 쓰고 있습니다. 차기버전 나올때까지 기다려야죠, 뭐.

(아 주 못 쓰는 건 아니지만 매우매우매우 귀찮은데다, 이어폰으로 음악이 안 나오는 것 때문에 제 삶의 낙 중 하나인 모든 것을 다 끝마치고 자는 것만 일과에 남겨둔 채 누군가에게 방해받지도, 누군가를 방해하지도 않고 Nightwish를 듣는 것을 포기해야 해서 안 쓰고 있습니다.)


하지만, 낙담 마세요. 비록 Love를 설치하는 것과 만들어진 소스 파일을 실행하는 것 외의 Love 내의 프로그램 코드나 실행 결과 등은 어느 OS던 똑같답니다. 설치를 마치고 어떻게 모두 만들어진 Love 파일을 실행하는지 다른 곳에서 알아온다면 강좌의 나머지 부분을 봐도 좋아요.


자, 이제 깔았다고 생각하고 저와 여러분의 첫 Love2D 프로그램을 만들어 보겠습니다.

메모장이나 좋아하는 텍스트 에디터를 실행한 후 다음과 같이 입력해 주세요.


function love.draw()
    love.graphics.print('Hello World!', 400, 300)
end


그리고 이것을 main.lua로 저장합니다. 파일 형식을 모든 파일(*.*)이나 루아 파일(*.lua)로 지정하는 것 잊지 마시길. main.lua.txt도 아니고, main.lua.lua는 더더욱 아닙니다!


이제부터 몇 가지 선택권이 있습니다.

1. 폴더를 하나 만들어 주세요. 뭐가 좋을까? 이름은 상관 없습니다.

전 식상하게 FirstProg라고 썼습니다.

이제 이 폴더 안에 아까의 main.lua를 넣습니다.

폴더를 설치하거나 다운로드 받은 Love.exe 혹은 Love.lnk(바로가기입니다.) 위에 드래그하여 끌어 놓습니다. 그러면 프로그램이 실행됩니다. 폴더째로 드래그해야지 main.lua만 드래그하면 안됩니다.

2. main.lua를 압축해서 zip 파일을 만듭니다. 폴더 째로 압축하지 말길.

압축 파일을 열자마자 main.lua가 보여야 합니다. 유식하게 '최상위 경로에 있어야 한다.' 고 합시다.

그리고 zip 파일의 확장자를 love로 바꿉니다.

2 - 1. 당신이 유식하다면 명령 프롬프트로 간 뒤 cd 명령어를 적절히 사용하여 xxxx.love 파일이 있는 곳으로 갑니다. 그리고 설치되거나 다운로드받은 love.exe(lnk는 안 됩니다!)를 xxxx.love가 있는 곳에 복사하세요. 그런 후 다음과 같은 명령을 실행시킵니다.

copy /b love.exe+xxxx.love [이름].exe

xxxx.love는 당신이 만든 .love 파일의 이름입니다.

그 렇다면, [이름].exe가 나올 겁니다. 진짜로 [이름]이라고 치지 말고, 독창적인 네이밍 센스를 발휘해 보세요. 어쨌든, 이제 exe 파일이 생성되었습니다. 이것으로 love가 다운로드되거나 설치되어 있지 않은 장소, 예를 들어 친구네 집이나 PC방 등에서도 당신의 프로그램을 실행할 수 있습니다.

이 방법은 꽤 복잡하므로, 나중에 다시 한번 찬찬히 해보겠습니다.


음, 썩 대단하진 않지만, 썩 나쁘지도 않은 여러분의 첫번째 프로그램이 나타났습니다.

제 넷북의 괴악한 해상도 때문에 저 글자가 정 가운데에 있진 않군요,

(리눅스도 잘 안 돌아가고... 이왕 뭔가 사려면 좋은 걸 사야 합니다. 아니면 저처럼 고생합니다.)


자, 이제 여러분은 love를 설치하고, 프로그램을 작성하고(사실 이해하지는 못했고, 복사해서 붙여 넣었습니다. 괜찮아요, 저도 그랬으니까. 모르면 차차 알아가면 됩니다.), 프로그램을 실행했습니다. 축하드립니다!


다음 정리글. 언젠가 씁니다.

덧글 태클 환영.
조회 수 :
464
등록일 :
2013.09.17
08:20:16 (*.209.135.92)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=703428
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
145 또질문 [2] 쿠로쇼우 2854   2008-09-29 2008-09-29 06:43
#include <stdio.h> int main (void) { int i=1,a=1,b=0,c=0,d=0; char ch[50]; char ca=0; FILE * file = fopen("a.txt", "rt"); if(file==NULL){ printf("NULL"); return 1; } while(1) { fgets(ch, 50, file); if(feof(file)!=0){ break;} else { fscanf(fi...  
144 똥똥배의 게임대회 이야기(2) [2] 혼돈 2816   2007-02-07 2008-03-17 04:37
2. 100KB 공모전의 추억 1회 규칙이 10M로 제한 된 것은 과거 100KB 공모전이 담겨있어서 입니다. 과거 100KB 공모전이라고 있었는데, 그 제한된 용량을 이용해서 다양한 작품이 나왔었죠. 그 중에 우수상을 탔던 것이 '삭제 되었수다'로서 오히려 제한된 용량...  
143 DirectX 창모드에서 화면 지워지는 문제 [7] file 똥똥배 2790   2010-12-12 2010-12-19 03:36
 
142 질문요.C++ [7] 질문자01 2729   2007-05-10 2008-04-03 05:32
도대체 파라미터가 뭔지 모르겠어요.  
141 SRPG을 구현하게 되면 ... [3] 짜스터 2708   2010-10-05 2013-11-23 04:38
지금 도트 제작단계로 넘어갈 예정인데 SRPG 시스템을 지원 해주실거면 무슨 툴로 하실건가요? 해상도에 따라서 도트 크기도 맞춰야 하는터라. 혹시나 생각하신것이 있으면 알려주세요.  
140 퀴즈소스입니다 허클베리핀님 라컨 2546   2005-08-23 2008-03-17 04:37
Private Sub Form_Click() If 시작 <= 1 Then MsgBox ("이제 왔군 학생") MsgBox ("이번이 시험인건 알고 있겠지?") MsgBox ("문제를 낼테니 잘 풀어라") 문제 = InputBox("흑곰의 이전 닉네임은 무엇이였나?") If 문제 = "답" Then MsgBox ("맞았군") Cls Pri...  
139 2중 for문을 돌릴 때 [3] 똥똥배 2539   2011-04-06 2011-04-07 17:08
제 경우, 원래는 이렇게 해야 정석인 코드를 for(int j = 0; j < y_size; ++j) { for(int i = 0; i < x_size; ++i) { //내용 } } 보기가 싫다는 이유로 for(int j = 0; j < y_size; ++j) for(int i = 0; i < x_size; ++i) { //내용 } 이런 식으로 적곤 ...  
138 이상하군요. [2] 대슬 2490   2008-05-16 2009-01-07 22:05
MIDI 음악을 메인 루프 앞에서 재생시킨 후 다른 음악을 재생시키려고 했더니 그 다음부턴 음악이 정지만 하고 재생이 되지를 않네요. 예전에 배고파요 만들었을 때는 비슷하게 해도 별 문제가 없었던 것 같은데, 왜 이러는지 잘 모르겠습니다. void bgm(int ...  
137 그림 출력의 순서를 알고 싶습니다. [3] X-tra 2466   2008-03-12 2008-03-17 04:37
제 글이 연구소로 가서 이번에는 신경써서 제목을 적었습니다 ㅡ.ㅡb 채색을 제외하면 전투도 70%정도 완성되었는데 자잘한 버그가 발생해서요. 제 스스로 알아 내려 했지만 확실하게 하기 위해서 물어 봅니다. 정확히 어떤 그림이 앞에 출력이 되고 어떤 그...  
136 데이터 축소에 대하여 [2] 짜스터 2430   2010-10-13 2013-11-23 04:38
환상수호전 : 티어크라이스 라는 닌텐도 게임을 알게 됬는데 컴퓨터 확장자 nds로 용량이 240메가 정도 밖에 안되는데 영상이나 성우 음성이 거의 풀로 유지되더군요. 데이터 품질을 최하로 해서 어느정도 볼만한 그래픽만 유지해서 용량을 최대한 축소시킨것 ...  
135 흥크립트 기초 질문. [2] 장펭돌 2430   2007-12-03 2008-03-17 04:37
지금 슬슬 설명서를 읽어나가는중... 기본 원리에서 다른건 대충 전부다 이해가 가지만, 몇가지 이해가 안가는 것이 있어서 질문 합니다. 우선 그림파일은 mlc로, 텍스트 파일은 dlg로 바꾸는것이 맞지요? 그렇다면, '게임 전체적으로 쓸 그림이라면 DATA폴더...  
134 흥크립트 키입력 질문 [1] A.미스릴 2363   2008-03-15 2008-03-17 04:37
키 클릭을 누르고 누른상태로 있는것도 인식할 수 있나영? 어떻게 하나요 ㅡ,.ㅡ  
133 흥크립트 0.9 새 기능 소개 [3] file 혼돈 2289   2007-10-15 2008-03-17 04:37
 
132 저는 사실 이걸 잘 못해요. [3] 앟랄 2282   2008-03-26 2008-04-18 07:45
알만툴 액알. 원리가 도저히 이해가 안 갑니다. 그림넣어서 설명해주세요. 그 뭐시기 그냥 근접공격만 일단. 나중가서 원거리를 합시다.  
131 명령문 질문드립니다. [1] X-tra 2244   2008-03-26 2008-03-27 00:40
변해서 게시판 찾기 어려울것 같았는데 이상하게 한번에 찾아 버렸네요. 연구소라고 적혀 있어서요... 이번건 질문이라고 하기에는 좀 애매합니다. 예전에 흥크립트의 모든 명령어가 적혀 있던 파일을 본 기억이 납니다. 하지만 아무리 찾아도 없더군요. 블로...  
130 '@클릭'이거 어떻게 사용하는거죠? [4] 네모상자 2244   2008-01-26 2008-03-17 04:37
'@영역선택'사용법은 역전심판 뜯어봐서 알 수 있겠는데, 이건 던전 앤 러버를 뜯을 수도 없고 해서 잘 모르겠네요. * 똥똥배님에 의해서 게시물 이동되었습니다 (2008-03-11 17:11)  
129 흥크립트 Ver0.9 변수 안의 변수 기능 [2] 혼돈 2208   2007-10-16 2008-03-17 04:37
상당히 고급기능이라 꼭 알 필요는 없지만, 잘 활용하면 배열이나 구조체 비슷하게 활용 가능합니다. 참고로 []를 쓰는 숫자변수와 {}를 쓰는 문자변수는 서로 다른 테이블을 쓰므로 이름이 겹쳐도 상관없습니다. [변수X] 1 [변수[변수X]] 10 {변수} "변수" {...  
128 조금씩 게임 소스가 완성 되어 가는데요. [2] 짜스터 2188   2010-11-16 2010-11-16 09:10
기획하고 연출 에서 직접 표현할려고 하는데 전투 시스템을 혹시 알만툴 XP 스크립트를 제작해주시는거는 안되시나요? 연출쪽까지 맡으셔서 하시면 무척 힘들어질듯 하는데, 구디스 씨라고 외국에서 만든 SRPG 스크립을 구하기는 해봤지만 창세기전 처럼 케릭...  
127 웹 프로그래밍을 배우려고 합니다. [2] Kadalin 2171   2008-03-22 2008-03-22 23:37
사용하는 형식에 따라 꽤 분야가 많은 것으로 알고 있습니다. 각각의 특징을 설명해 주세요.  
126 Divx6를 받아서 인코딩을 하려는데... 에러뜸... [3] 장펭돌 2154   2008-02-09 2008-03-17 04:37
Divx 공식 홈페이지를 가보니, 6가 있길래 받아서 동영상파일 (AVI)를 열면 이렇게 에러가 뜨는군여... ----------------------------------------------------------------- Invalid VIdeo Stream DivX Converter cannot encode the in put file: C:\Document...