메뉴 건너뛰기

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

Love2D 엔진은 Lua 기반이라 좋던 싫던 우리는 이미 Lua를 쓰고 있는 것입니다.

그래서 원활한 개발을 원한다면 Lua 언어를 알아두는 것이 좋습니다.

어 차피 Lua라는 게 알아먹기 쉽고 가벼우므로 게임 업게에 종사하는 디자이너 혹은 작가, 게임 디자이너가 Lua나 Python 같은 가벼운 스크립트 언어를 하나 정도 알고 있다면 당신의 아이디어를 실제로 구현하는 프로그래머와 좀 더 원활한 의사소통이 가능하므로 하나쯤 익혀두면 좋겠습니다.


Lua는 게임제작 외에도 게임의 Mod 제작(이것도 게임제작인가?), 리눅스 시스템의 관리, 웹 프로그래밍, GUI를 가진 윈도우 프로그램도 만들 수 있고 C나 C++에 붙어서 돌아가기도(사실 이 경우가 더 많다고 합니다) 하기 때문에 정말 쓸 데가 많다고 합니다.


잡설 이만 잘라먹고 시작합니다.


Lua를 실행하는 법은 자세히 안 다룹니다.

일단 설치파일을 실행하던 리눅스에서 apt-get을 하던 루아를 받습니다.

리눅스에서: lua 파일이름.lua

Windows에서: Lua 경로로 간다(환경변수를 등록한다) -> lua 파일이름.lua

Mac에서: 무다다! 무다무다무다무다무다! 시간은 움직이기 시작한다!


어차피 Lua를 설치할 필요는 없습니다. 정말 이 요약글을 보며 하나하나 실습하고 싶어하는 모범생이 아닌 이상. Love2D가 목적이지 Lua 자체가 목적은 아니니까요. Lua는 살짝 맛만 볼 겁니다.


일단 뭔가 내뱉는 녀석이다. 이런저런 처리를 하고 결과를 출력하는 데 쓴다.

print("출력할 것")

"" 안은 문자열. 변수도 출력할 수 있다. 변수가 뭐냐면 나중에 배우자.


그럼 입력을 받자. 사용자가 뭘 넣어줘야 프로그램이 결과를 돌려주니까.

io.read()

이러면 값을 넣는다. 하지만 입력받는것만으로는 뭘 할 수 없다. 어딘가에 저장하고, 처리해서 다시 돌려줘야 한다.


자, 입력과 출력을 배웠다. 첫 프로그램을 만들어보자. Hello Word 따위는 시시하니까 다른 걸 만들자.

입력한 걸 바로 출력해 돌려주는 녀석이다.


print(io.read())


한 줄이다.

실행해 보라.


print("io.read()")가 아니다. 그러면 입력을 받지 않고 io.read()를 문자열로 받아들여 버린다.

'읽어들인 입력을 출력하라'는 명령을 내리는 것이 아닌 'io.read()라고 출력하라.' 라고 컴퓨터에게 명령해버리는 것이다. 이래선 안 된다.


시 시하겠지만 이것으로 첫 프로그램이 완성되었다. 더 나아가면 그래픽으로 그림을 그려 출력할 수도 있고, 출력을 네트워크로 보낼 수도 있고, 파일로도 입력 받을 수 있고, GUI 창을 만들어서 입력받을수도 있고, 기타 등등이 가능하다. 더 나아가는 공부는 다른 곳에 많다. 여기선 Love2D를 막힘 없이 사용할 수 있는 정도의 Lua 문법만 알아볼 것이다.


그럼 다음에는 들어온 데이터를 어떻게던 처리해보도록 한다.

루아의 코딩 스타일, 주석 변수, 수치의 연산을 배우고, 가능하면 제어문이나 문자열의 처리 등도 같이 공부해 보자.

어려운 말이 마구 쏟아져 나오는데.. 같이 공부해 나가자. 궁금한 것은 덧글로 달아 같이 배워 봅시다.

조회 수 :
704
등록일 :
2013.09.17
08:21:34 (*.209.135.92)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=703431
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
65 [Lua] 테이블 노루발 2013-09-17 1422
64 중력 처리할때 캐릭터가 낍니다. [2] ㅁㄴㅇㄹ 2012-02-12 1395
63 Lua 소코반 EX: 그래픽 준비 노루발 2013-09-18 1084
62 혼돈형한테 질문 (페인트샾 관련) [2] file 장펭돌 2007-11-19 939
61 Lua 소코반 EX: 포팅: 3 (머나먼 여행길 안녕 친구여) 노루발 2013-09-18 913
60 RPG Maker MV 로컬라이징 방법 file 똥똥배 2015-10-27 906
59 Lua 소코반 EX: 포팅: 1 노루발 2013-09-18 856
58 Lua 소코반: 맵을 뿌리자. 노루발 2013-09-17 833
57 Lua 소코반 EX: 포팅: 2 (키가 눌리면 이동하게 해 보자) 노루발 2013-09-18 832
56 이미지 그리는 방법: 2편. 부제: 쿼드! 노루발 2013-09-17 821
55 이미지 그리는 방법 1편 노루발 2013-09-17 812
54 cocos2d-x 2.2.2 UILabelBMFont 메모리 누수 해결법 [2] 똥똥배 2014-03-10 783
53 Cocostudio의 ActionNode 메모리 누수 해결법(cocos2d-x 2.2.2) [2] 똥똥배 2014-03-09 776
52 게임의 기본 설정을 담당하는 love.conf 노루발 2013-09-17 763
51 Lua 소코반: 플레이어를 그리고 움직이게 해보자 노루발 2013-09-17 758
50 Lua 소코반: 목표 지점을 만들고, 상자가 모두 옮겨지면 게임을 끝내자! 노루발 2013-09-17 753
49 흥크립트 원인불명 버그... [3] file 네모상자 2008-02-16 738
» Love2D를 사용하기 위한 Lua 강좌: 입출력과 기본 노루발 2013-09-17 704
47 Lua 소코반: 벽을 뚫고 나가지 않게 해보자! 노루발 2013-09-17 696
46 CCTextFieldTTF 0바이트 메모리 누수 버그 해결법 똥똥배 2014-01-13 692