SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
DevRookie
권승진
목 차
 루아 스크립트란?
 루아 스크립트 문법 소개
 C++과 연동하여 사용하기
 실제 적용 예
 게임 개발에서 루아의 용도
루아 스크립트란?
 포르투갈어로 ‘달’이라는 뜻
 브라질의 Tecgraf의 한 팀에서 개발
 특징
 공짜
 파일 크기가 작다
 이식성이 좋다
 실행 속도가 빠르다
루아 스크립트란?
 프로그래머에게 루아의 의미
 C++함수를 루아에서 호출할 수 있게 한다.
 재 컴파일 없이 상수를 변형 시켜 테스트 할 수 있다.
 기획자에게 루아의 의미
 루아 문법만 알아도 프로그래머가 만든 코어 부분을 제
어하여 사건을 맘대로 구성할 수 있다.
루아 스크립트 문법 소개
 기초
 변수
 연산자
 제어 구조
 함수
루아 스크립트 문법 소개
 기초
 식별자 명명 규칙
 영어, 숫자, ‘_’로 구성
 첫글자가 숫자면 안된다.
 _로 시작하고, 그 다음이 대문자인 식별자 명명 피하기
 주석
행 주석 : --
블럭 주석 : --[[ ... --]]
루아 스크립트 문법 소개
 기초
 루아 콘솔
 인터프리터 방식
 한 줄씩 그때 그때마다 코드의 결과물이 적용된다.
루아 언어를 연습할 땐 콘솔도 좋다.
루아 스크립트 문법 소개
 변수
 선언 없이 사용한다.
 변수형을 미리 지정해줄 필요가 없다.
 nil, Boolean, String, Number, Table 등
 Local 붙으면 지역변수
루아 스크립트 문법 소개
 변수
 nil
 알 수 없는 값
 정상적인 값을 가지고 있지 않음을 의미
 예)
 변수 사용이 끝난 후 삭제 시에도 사용한다.
•a에 아무것도 넣지 않고,
a를 출력한다면 nil이 출력
루아 스크립트 문법 소개
 변수
 Boolean
 true 와 false 두 가지 값을 가진다.
 루아는 false와 nil값 이외의 값은 모두 true로 인정한다.
 예) 0도 true값으로 인정
루아 스크립트 문법 소개
 변수
 String
 문자열, 수치와 문자열을 상호변환
 ‘hello’ , “hello” 따옴표 둘 다 허용
루아 스크립트 문법 소개
 변수
 Number
 정수, 소수 구분 없이 ‘숫자’라는 개념만 존재
 c와 비교하면 모든 형을 double로 처리
루아 스크립트 문법 소개
 배열
 Table
 배열, 구조체, 연관배열 등으로 사용
루아 스크립트 문법 소개
 변수
 함수
 루아에선 함수도 변수에 속한다.
루아 스크립트 문법 소개
 연산자
 치환
 =
 오른쪽 값을 왼쪽 변수로 치환하는 기능
루아 스크립트 문법 소개
 연산자
 산술
 +, -, *, /, %, ^
루아 스크립트 문법 소개
 연산자
 관계
 >, <, >=, <=, ==, ~=
1이 2보다 큰가? 1이 2보다 작은
가?
변수 a와 변수 b가 같은가? 변수a와 변수b가 다른가?
1>2 1<2 a == b a ~= b
루아 스크립트 문법 소개
 연산자
 논리
 and, or, not
 말 그대로 논리에 대한 연산이다.
 예) 옳은 것과 옳은 것을 and연산하면 옳은 것
 예) 옳은 것을 not연산하면 옳지 않는 것
논리 연산자 의미
A and B A값이 false면 A 값을 반환하며, true면 B값을 반환한다.
A or B A값이 true면 A 값을 반환하며, false면 B값을 반환한다.
not A A가 true면 false를 반환하고, A가 false면 true를 반환한다.
루아 스크립트 문법 소개
 연산자
 논리
 and, or, not
 예)
루아 스크립트 문법 소개
 연산자
 기타
 ..
 문자열을 합치는 기능
 #
 배열의 길이 반환
루아 스크립트 문법 소개
 제어구조
 분기
 반복
루아 스크립트 문법 소개
 제어구조
 분기
루아 스크립트 문법 소개
 제어구조
 반복
 while
 for
루아 스크립트 문법 소개
 함수구조
함수 기본 구조 입력이 있는 함수 구조
출력이 있는 함수 구조 출력이 여러 개인 함수 구조
루아 스크립트 문법 소개
 함수구조
 인자 수가 정해지지 않은 함수 구조
 …으로 입력 받은 뒤
 arg라는 곳에서 꺼내온다.
C++과 연동하기
 구현 원리
 lua_State
 C++과 루아가 교신하기 위한 수단
 이것을 이용하여
 C++에서 루아 함수 호출
 루아에서 C++함수 호출
 이 가능하다.
C++과 연동하기
 루아 글루 함수
 C++과 루아의 접착제(glue) 역할
 루아에서 호출 할 수 있게끔 만든 C++함수
C++과 연동하기
 라이브러리 추가
 Lua_State를 생성하고, 루아 라이브러리를 연다.
C++과 연동하기
 루아에 C++ 함수 등록
 스크립트 파일을 로드하고,
C++과 연동하기
 스크립트를 실행한다.
 볼일이 끝나면 닫는다.
C++과 연동하기
C++과 연동하기
 관련 도구
 LuaBind
 LuaTinker
실제 적용 예
소스 코드
게임 개발에서 루아의 용도
 스크립팅 언어는 Native 코드만큼 빠르지 않다.
 고성능의 고유한 코드 함수와 프로세스 호출을 위한
제어 메커니즘으로 사용
 성능상의 이점이 있는 C++로 속도가 중요한 함수를 작
성 Lua에서 호출(Lua에 접착)
게임 개발에서 루아의 용도
 인터페이스 제작
 이벤트(사건) 관리
 게임 자료 저장, 관리
참고자료
 루아 다운로드 주소
 http://luabinaries.luaforge.net/download.html
 도서
 루아를 이용한 민첩하고 효과적인 게임 개발
 예제로 배우는 프로그래밍 루아

Mais conteúdo relacionado

Mais procurados

Type script - advanced usage and practices
Type script  - advanced usage and practicesType script  - advanced usage and practices
Type script - advanced usage and practicesIwan van der Kleijn
 
Chrome DevTools
Chrome DevToolsChrome DevTools
Chrome DevToolsroadster43
 
Basic Html Tags Tutorial For Kids
Basic Html Tags Tutorial For KidsBasic Html Tags Tutorial For Kids
Basic Html Tags Tutorial For KidsOlivia Moran
 
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPTGo4Guru
 
Game Design Fundamentals
Game Design FundamentalsGame Design Fundamentals
Game Design FundamentalsIntelligent_ly
 
Intro to Asynchronous Javascript
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous JavascriptGarrett Welson
 
Angular directives and pipes
Angular directives and pipesAngular directives and pipes
Angular directives and pipesKnoldus Inc.
 
jQuery - Chapter 1 - Introduction
 jQuery - Chapter 1 - Introduction jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - IntroductionWebStackAcademy
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react nativeModusJesus
 
Nodejs functions & modules
Nodejs functions & modulesNodejs functions & modules
Nodejs functions & modulesmonikadeshmane
 
GameMaker:Studio and Windows
GameMaker:Studio and Windows GameMaker:Studio and Windows
GameMaker:Studio and Windows Lee Stott
 
모바일 게임 개발
모바일 게임 개발모바일 게임 개발
모바일 게임 개발hong sanghyun
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to JavascriptAmit Tyagi
 

Mais procurados (20)

Wpf Introduction
Wpf IntroductionWpf Introduction
Wpf Introduction
 
Type script - advanced usage and practices
Type script  - advanced usage and practicesType script  - advanced usage and practices
Type script - advanced usage and practices
 
Angular Data Binding
Angular Data BindingAngular Data Binding
Angular Data Binding
 
Javascript functions
Javascript functionsJavascript functions
Javascript functions
 
React native
React nativeReact native
React native
 
Chrome DevTools
Chrome DevToolsChrome DevTools
Chrome DevTools
 
HTML
HTMLHTML
HTML
 
Basic Html Tags Tutorial For Kids
Basic Html Tags Tutorial For KidsBasic Html Tags Tutorial For Kids
Basic Html Tags Tutorial For Kids
 
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPT
 
Game Design Fundamentals
Game Design FundamentalsGame Design Fundamentals
Game Design Fundamentals
 
Intro to Asynchronous Javascript
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous Javascript
 
Angular directives and pipes
Angular directives and pipesAngular directives and pipes
Angular directives and pipes
 
jQuery - Chapter 1 - Introduction
 jQuery - Chapter 1 - Introduction jQuery - Chapter 1 - Introduction
jQuery - Chapter 1 - Introduction
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
Nodejs functions & modules
Nodejs functions & modulesNodejs functions & modules
Nodejs functions & modules
 
GameMaker:Studio and Windows
GameMaker:Studio and Windows GameMaker:Studio and Windows
GameMaker:Studio and Windows
 
Java script
Java scriptJava script
Java script
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
모바일 게임 개발
모바일 게임 개발모바일 게임 개발
모바일 게임 개발
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 

Destaque

[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기MinGeun Park
 
C++과 Lua script연동
C++과 Lua script연동C++과 Lua script연동
C++과 Lua script연동선협 이
 
NDC14 - 사례로 배우는 디스어셈블리 디버깅
NDC14 - 사례로 배우는 디스어셈블리 디버깅NDC14 - 사례로 배우는 디스어셈블리 디버깅
NDC14 - 사례로 배우는 디스어셈블리 디버깅Seungjae Lee
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기Seungjae Lee
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴MinGeun Park
 
2nd ignite masan 이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이
2nd ignite masan   이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이2nd ignite masan   이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이
2nd ignite masan 이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이Ignite Masan
 
스크래치와 역사
스크래치와 역사스크래치와 역사
스크래치와 역사Seung Joon Choi
 
기본 회전 공식
기본 회전 공식 기본 회전 공식
기본 회전 공식 cancan21st
 
[0611 박민근] 신입 게임 개발자가 알아야 할 것들
[0611 박민근] 신입 게임 개발자가 알아야 할 것들[0611 박민근] 신입 게임 개발자가 알아야 할 것들
[0611 박민근] 신입 게임 개발자가 알아야 할 것들MinGeun Park
 
Data Structure - 1st Study
Data Structure - 1st StudyData Structure - 1st Study
Data Structure - 1st StudyChris Ohk
 
GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법연우 김
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 
[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기MinGeun Park
 
후처리알아보기
후처리알아보기후처리알아보기
후처리알아보기종규 우
 

Destaque (20)

[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 
C++과 Lua script연동
C++과 Lua script연동C++과 Lua script연동
C++과 Lua script연동
 
NDC14 - 사례로 배우는 디스어셈블리 디버깅
NDC14 - 사례로 배우는 디스어셈블리 디버깅NDC14 - 사례로 배우는 디스어셈블리 디버깅
NDC14 - 사례로 배우는 디스어셈블리 디버깅
 
온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
Lua 문법
Lua 문법Lua 문법
Lua 문법
 
투영 공식
투영 공식투영 공식
투영 공식
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴
 
Id142 plan
Id142 planId142 plan
Id142 plan
 
2nd ignite masan 이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이
2nd ignite masan   이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이2nd ignite masan   이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이
2nd ignite masan 이그나이트마산 09 설미정_ 기부, 기발함과 발칙함사이
 
스크래치와 역사
스크래치와 역사스크래치와 역사
스크래치와 역사
 
Shader Driven
Shader DrivenShader Driven
Shader Driven
 
Mesh slice 1
Mesh slice 1Mesh slice 1
Mesh slice 1
 
기본 회전 공식
기본 회전 공식 기본 회전 공식
기본 회전 공식
 
[0611 박민근] 신입 게임 개발자가 알아야 할 것들
[0611 박민근] 신입 게임 개발자가 알아야 할 것들[0611 박민근] 신입 게임 개발자가 알아야 할 것들
[0611 박민근] 신입 게임 개발자가 알아야 할 것들
 
Data Structure - 1st Study
Data Structure - 1st StudyData Structure - 1st Study
Data Structure - 1st Study
 
GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기
 
Gpg study5.5
Gpg study5.5Gpg study5.5
Gpg study5.5
 
후처리알아보기
후처리알아보기후처리알아보기
후처리알아보기
 

Semelhante a Lua script

About Visual C++ 10
About  Visual C++ 10About  Visual C++ 10
About Visual C++ 10흥배 최
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R BasicsYoonwhan Lee
 
[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩jusingame
 
Move semantics
Move semanticsMove semantics
Move semanticsQooJuice
 
0.javascript기본(~3일차내)
0.javascript기본(~3일차내)0.javascript기본(~3일차내)
0.javascript기본(~3일차내)Sung-hoon Ma
 
Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Yong Joon Moon
 
Swift 세미나
Swift 세미나Swift 세미나
Swift 세미나용재 김
 
01 built in-data_type
01 built in-data_type01 built in-data_type
01 built in-data_typeJu-Hyung Lee
 
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수Aiden Seonghak Hong
 
Haskell and Function
Haskell and FunctionHaskell and Function
Haskell and FunctionEunGi Hong
 
C++’s move semantics
C++’s move semanticsC++’s move semantics
C++’s move semanticsLusain Kim
 
레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드Sukjoon Kim
 
Welcome to ruby!
Welcome to ruby!Welcome to ruby!
Welcome to ruby!성훈 김
 

Semelhante a Lua script (18)

About Visual C++ 10
About  Visual C++ 10About  Visual C++ 10
About Visual C++ 10
 
R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R Basics
 
[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩[C언어]함수오버로딩과오버라이딩
[C언어]함수오버로딩과오버라이딩
 
Move semantics
Move semanticsMove semantics
Move semantics
 
0.javascript기본(~3일차내)
0.javascript기본(~3일차내)0.javascript기본(~3일차내)
0.javascript기본(~3일차내)
 
클로저 1
클로저 1클로저 1
클로저 1
 
Python
PythonPython
Python
 
Java8 람다
Java8 람다Java8 람다
Java8 람다
 
Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713Processing 기초 이해하기_20160713
Processing 기초 이해하기_20160713
 
Swift 세미나
Swift 세미나Swift 세미나
Swift 세미나
 
팀장 잔소리
팀장 잔소리팀장 잔소리
팀장 잔소리
 
01 built in-data_type
01 built in-data_type01 built in-data_type
01 built in-data_type
 
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
 
Haskell and Function
Haskell and FunctionHaskell and Function
Haskell and Function
 
C++’s move semantics
C++’s move semanticsC++’s move semantics
C++’s move semantics
 
C++ api design 품질
C++ api design 품질C++ api design 품질
C++ api design 품질
 
레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드
 
Welcome to ruby!
Welcome to ruby!Welcome to ruby!
Welcome to ruby!
 

Lua script

  • 2. 목 차  루아 스크립트란?  루아 스크립트 문법 소개  C++과 연동하여 사용하기  실제 적용 예  게임 개발에서 루아의 용도
  • 3. 루아 스크립트란?  포르투갈어로 ‘달’이라는 뜻  브라질의 Tecgraf의 한 팀에서 개발  특징  공짜  파일 크기가 작다  이식성이 좋다  실행 속도가 빠르다
  • 4. 루아 스크립트란?  프로그래머에게 루아의 의미  C++함수를 루아에서 호출할 수 있게 한다.  재 컴파일 없이 상수를 변형 시켜 테스트 할 수 있다.  기획자에게 루아의 의미  루아 문법만 알아도 프로그래머가 만든 코어 부분을 제 어하여 사건을 맘대로 구성할 수 있다.
  • 5. 루아 스크립트 문법 소개  기초  변수  연산자  제어 구조  함수
  • 6. 루아 스크립트 문법 소개  기초  식별자 명명 규칙  영어, 숫자, ‘_’로 구성  첫글자가 숫자면 안된다.  _로 시작하고, 그 다음이 대문자인 식별자 명명 피하기  주석 행 주석 : -- 블럭 주석 : --[[ ... --]]
  • 7. 루아 스크립트 문법 소개  기초  루아 콘솔  인터프리터 방식  한 줄씩 그때 그때마다 코드의 결과물이 적용된다. 루아 언어를 연습할 땐 콘솔도 좋다.
  • 8. 루아 스크립트 문법 소개  변수  선언 없이 사용한다.  변수형을 미리 지정해줄 필요가 없다.  nil, Boolean, String, Number, Table 등  Local 붙으면 지역변수
  • 9. 루아 스크립트 문법 소개  변수  nil  알 수 없는 값  정상적인 값을 가지고 있지 않음을 의미  예)  변수 사용이 끝난 후 삭제 시에도 사용한다. •a에 아무것도 넣지 않고, a를 출력한다면 nil이 출력
  • 10. 루아 스크립트 문법 소개  변수  Boolean  true 와 false 두 가지 값을 가진다.  루아는 false와 nil값 이외의 값은 모두 true로 인정한다.  예) 0도 true값으로 인정
  • 11. 루아 스크립트 문법 소개  변수  String  문자열, 수치와 문자열을 상호변환  ‘hello’ , “hello” 따옴표 둘 다 허용
  • 12. 루아 스크립트 문법 소개  변수  Number  정수, 소수 구분 없이 ‘숫자’라는 개념만 존재  c와 비교하면 모든 형을 double로 처리
  • 13. 루아 스크립트 문법 소개  배열  Table  배열, 구조체, 연관배열 등으로 사용
  • 14. 루아 스크립트 문법 소개  변수  함수  루아에선 함수도 변수에 속한다.
  • 15. 루아 스크립트 문법 소개  연산자  치환  =  오른쪽 값을 왼쪽 변수로 치환하는 기능
  • 16. 루아 스크립트 문법 소개  연산자  산술  +, -, *, /, %, ^
  • 17. 루아 스크립트 문법 소개  연산자  관계  >, <, >=, <=, ==, ~= 1이 2보다 큰가? 1이 2보다 작은 가? 변수 a와 변수 b가 같은가? 변수a와 변수b가 다른가? 1>2 1<2 a == b a ~= b
  • 18. 루아 스크립트 문법 소개  연산자  논리  and, or, not  말 그대로 논리에 대한 연산이다.  예) 옳은 것과 옳은 것을 and연산하면 옳은 것  예) 옳은 것을 not연산하면 옳지 않는 것 논리 연산자 의미 A and B A값이 false면 A 값을 반환하며, true면 B값을 반환한다. A or B A값이 true면 A 값을 반환하며, false면 B값을 반환한다. not A A가 true면 false를 반환하고, A가 false면 true를 반환한다.
  • 19. 루아 스크립트 문법 소개  연산자  논리  and, or, not  예)
  • 20. 루아 스크립트 문법 소개  연산자  기타  ..  문자열을 합치는 기능  #  배열의 길이 반환
  • 21. 루아 스크립트 문법 소개  제어구조  분기  반복
  • 22. 루아 스크립트 문법 소개  제어구조  분기
  • 23. 루아 스크립트 문법 소개  제어구조  반복  while  for
  • 24. 루아 스크립트 문법 소개  함수구조 함수 기본 구조 입력이 있는 함수 구조 출력이 있는 함수 구조 출력이 여러 개인 함수 구조
  • 25. 루아 스크립트 문법 소개  함수구조  인자 수가 정해지지 않은 함수 구조  …으로 입력 받은 뒤  arg라는 곳에서 꺼내온다.
  • 26. C++과 연동하기  구현 원리  lua_State  C++과 루아가 교신하기 위한 수단  이것을 이용하여  C++에서 루아 함수 호출  루아에서 C++함수 호출  이 가능하다.
  • 27. C++과 연동하기  루아 글루 함수  C++과 루아의 접착제(glue) 역할  루아에서 호출 할 수 있게끔 만든 C++함수
  • 28. C++과 연동하기  라이브러리 추가  Lua_State를 생성하고, 루아 라이브러리를 연다.
  • 29. C++과 연동하기  루아에 C++ 함수 등록  스크립트 파일을 로드하고,
  • 30. C++과 연동하기  스크립트를 실행한다.  볼일이 끝나면 닫는다.
  • 32. C++과 연동하기  관련 도구  LuaBind  LuaTinker
  • 34. 게임 개발에서 루아의 용도  스크립팅 언어는 Native 코드만큼 빠르지 않다.  고성능의 고유한 코드 함수와 프로세스 호출을 위한 제어 메커니즘으로 사용  성능상의 이점이 있는 C++로 속도가 중요한 함수를 작 성 Lua에서 호출(Lua에 접착)
  • 35. 게임 개발에서 루아의 용도  인터페이스 제작  이벤트(사건) 관리  게임 자료 저장, 관리
  • 36. 참고자료  루아 다운로드 주소  http://luabinaries.luaforge.net/download.html  도서  루아를 이용한 민첩하고 효과적인 게임 개발  예제로 배우는 프로그래밍 루아