MyDesk 에서 MyFirstScript 를 만들어서 (create script) 창을 띄운다.
( MyDesk > 마우스 우클릭 > Create Scripts > Create Script )
변수는 local
* Lua 스크립트 기본적인 문법
- log()
- console 창에 로그를 찍기 위해서는 log() 내부에 출력할 값을 넣어주면 됩니다.
- 변수 선언 키워드 local
- 변수를 선언하는 키워드로 local을 사용합니다. 변수 선언 방식은 local number = 1과 같이 local 자료형 = 초기화 값의 형태로 이루어집니다.
- 변수를 local 키워드 없이 사용하여 명시적으로 지역으로 정의하지 않으면 global(전역) 변수로 취급하게 됩니다. 이에 local(지역)으로 사용하길 원한다면 명시해야 합니다.
- 순차 구조
- 대부분의 스크립트 언어와 마찬가지로 lua script는 순차적인 구조로 소스 코드가 실행됩니다.
- 반복문
for count = 1, 10, 1 do
log(count)
end
for 이후에 반복자 = 초기값, 조건, 증감값 do 로 시작한 후, 반복할 실행문이 끝나는 지점에서는 end로 닫아줍니다.조건문
- 조건문
local sum = 0
for cnt = 1, 10, 1 do
if cnt % 2 == 0 then
sum = sum + cnt
end
end
조건문의 경우 if 조건식 then 으로 시작하여 end 사이 조건을 만족하였을 때의 수행문을 입력해주시면 됩니다.
local number = 1
local sum = 0
log (sum)
void Sum()
{
for count = 1, 10 1 do -- 부터 10까지 1씩 증가
if count%2 == 0 then -- 짝수라면
sum = sum + count
end
end
}
* 주로 사용하는 스크립트
- Create Logic
- 로직은 따로 어떤 객체에 추가를 해주지 않아도 프로그램 상에 하나만 존재하기 때문에 콘솔 창에 결과가 뜹니다.
- Create Component
- MyDesk > 마우스 우클릭 > Create Scripts > Create Component
- 컴포넌트 스크립트는 특정 객체에 추가해야 스크립트가 돌아갑니다. 또, 콘솔창에 로그를 찍게 되면 스크립트를 추가한 객체의 수만큼 로그가 찍힙니다.
- Property 설정할 수 있는데, 이때 설정한 property는 property창에 노출됩니다. 함수에서 내가 속한 component의 property 또는 함수를 가져다 쓸 때 self.컴포넌트명으로 컴포넌트를 불러와 사용할 수 있습니다.
-> 객체에 추가하지 않았기 때문에 hello, MOD World 가 콘솔창에 돌아가지 않는 것을 알 수 있음.
-> property 에서 방금 만들었던 MyFirstComponent 를 추가 해줘야
콘솔 창에 Hello, MOD World 가 찍히는 것을 알 수 있음.
객체를 복제했을 때, 추가한 객체 수 만큼 로그가 출력되는 것을 알 수 있음.
* Function
: function은 쉽게 말해 기능을 모아둔 것을 의미합니다.
OnBeginPlay , OnEndPlay, OnUpdate 함수를 호출하면,
콘솔에 befin, update ... , end 가 출력된다.
예상컨데 이렇게 작성하면
콘솔에 Begin , sum is 0 , sum is 5 , My function 이 찍히겠지?
예상대로 찍히는 것을 알 수 있음.
'MapleStory Worlds Super Hackathon > 기본 개념' 카테고리의 다른 글
MapleStory World - Event (1) | 2022.09.23 |
---|---|
MapelStory World - 네트워크 (0) | 2022.09.23 |
Maple Story World - Component (1) | 2022.09.21 |