이 문서는 하루 패드 마크 다운 에디터를 사용해서 작성하고 있습니다.

들어가며

올해 초에 블로그에 cocos2d로 드래곤 라이더 만들기를 연재 후, 책으로 만들어져서 곧 출판을 합니다. 뭔가 다음 삽질을 하기 위해서 코로나(corona) 삽을 들었습니다.

cocos2d는 iOS으로만 빌드를 할 수 밖에 없었고(물론 cocos2d-x로 만들면 되긴만), 물리 게임을 만들기 위해서는 많은 삽질이 필요합니다. SpriteKit이 나와서 간편하게 iOS용 간단한 물리 게임을 만들수도 있습니다. 또 iOS용으로만 빌드가 되지 않는 단점이 여전히 남아 있습니다. 그래서 스크립트 언어 기반의 멀티플랫폼 빌드를 지원하는 corona로 정하고 삽을 들었습니다.

물론 저는 게임의 ‘ㄱ’도 모르는 개발자 탈을 쓴 개발자 입니다. Lua도 모르고, corona로 모릅니다. 게임 개발 방법론(?)은 더더욱 모릅니다. 삽질을 하면서 개발 과정을 블로깅 할 것이며, 틀린점이 있으면 언제나 지적 부탁드립니다. 조언도 좋습니다. 사운드 효과, 배경 음악, 이미지 등등 많은 도움을 주셔도 상관 없습니다.

카카오톡 게임의 인기를 받고 있는 ‘러너’ 시리즈 종류의 게임을 한 번 만들어 보도록 하겠습니다.

Lua 기초

루아는 가벼운 스크립트 언어이다. ‘달’을 뜻하는 포루투칼어의 단어이며, 1993년 브라질의 리우 데자네이로에 있는 교황청 대학교의 컴퓨터 그래픽 기술 그룹 회원인 Luiz Henrique de Figueiredo, 호베르투 이에루잘림스시와 Waldemar Celes가 만들었다.

코로나 SDK에서는 루아 언어를 사용한다. 루아 언어를 전부 몰라도 상관없다. 그때 그때 필요할 때만 찾아 사용해도 괜찮다. 필수적인 부분만 집고 넘어가도록 하자. 더 많은 것을 살펴보고 싶으면 루아 공식 페이지를 참고하자. 아래 기본 문법만 알고 있어도 크게 문제가 되지 않을 것이다.

기본적으로 괄호()와 세미콜론(;)을 사용하지 않는다. 물론 사용해도 상관은 없다.

-- 이것은 주석이다
print("디버그 등을 위한 콘솔 출력")

a = 1 -- 글로벌 변수
local b = 1 -- 로컬 변수


-- 반복문
for 1, 10, 1 do -- 1부터 10까지 1씩 증가한다

    --code

end

-- 비교문
if i == 1 then

    --code

elseif then

    --code

else

    --code

end


-- 함수
function name( arg )

end

math.randomseed(os.time()) -- 랜덤 시드값 설정
math.random() -- float
math.random(maxNum) -- 1부터 maxNum까지 정수 생성
math.random(minNum, maxNum) -- 최소, 최대값의 범위에서 임의의 정수를 생성한다


Posted by KraZYeom