본문 바로가기

로블록스 개발 기초

로블록스 코딩 소개 (1/3)

시작하기

앞선 튜토리얼에서는 로블록스 스튜디오의 기능들을 살펴봤고 그 간단한 기능들을 통해 매우 간단한 게임을 만들어 봤다. 너무 단순한 게임이었으니... 이제 슬슬 게임스러운 게임을 만들어 보자. 

이번 튜토리얼에서는 일정 시간동안 나왔다가 사라졌다가를 반복하는 블럭을 만들 것이다. 플레이어는 이 블럭이 사라지기 전에 다른 블럭위로 점프해서 넘어가야 한다. 이런 식의 게임요소를 만들려면 어쩔 수 없이 소스코드가 필요하다. 로블록스는 루아라는 프로그래밍언어를 사용한다. 처음 접해보는 언어라고 해도 상관없다. 단계별로 천천히 따라해보면 쉽게 사용법을 알 수 있을 것이다.

아바타가 점프를 해서 넘어갈 수 없을 정도로 멀리 떨어져있는 상태의 두 블럭을 준비한다. 그 사이에는 또 다른 블럭을 준비해 놓는데, 이 블럭이 사라졌다가 생겼다가 하는 블럭이 될 것이다.

스크립트가 필요한 블럭

맵(Place) 셋팅

이미지에서 보듯이 필요한 블럭은 세개이다. 스폰 포인트가 있는 출발 블럭과 도착 블럭, 그리고 그 사이에 놓일 스크립트가 삽입될 블럭 하나. 가운데 놓인 블럭이 게임의 메인이 된다. 이 블럭을 DisappearingPlatform 이라고 이름을 바꾸자. 각 블럭의 속성창을 보고 Anchored 가 활성화되어 있음을 확인하자. 전 튜토리얼에서도 나왔던 내용이지만 Anchored 속성이 비활성화된 블럭은 로블록스 세계내에서의 중력에 의해 밑으로 떨어져 버린다.

스크립트 삽입

앞서 말했듯이 로블록스내에서의 소스코드는 루아(lua)로 이루어져 있다. 이 소스코드를 저장하고 실행시키는 것을 스크립트라고 하는데, 이 스크립트는 게임요소 어디에도 추가 시킬 수 있다. 앞서 나온 메인 블럭에 이 스크립트를 추가하자. 게임요소에 추가된 스크립트는 게임 시작하고 그 게임요소가 불려질 타이밍에 실행되게 된다.

탐색창에서 DisappearingPlatform 블럭을 선택하고 옆의 +버튼을 클릭하자. 그러면 나오는 리스트 중에서 스크립트를 선택하고 그 스크립트의 이름을 Disappear로 바꾸자. 생성된 스크립트는 자동으로 내용이 들어 있는데, 그냥 다 지우자.

첫번째 변수

스크립트의 내용을 넣어볼 차례이다. 첫번째 단계로 스크립트에 변수를 추가해보자. 

"변수"라는 것은 어떤 값을 부르는 이름이다. 변수명은 개발자가 원하는 이름으로 사용할 수 있다. 예를 들면, 10이라는 숫자를 저장하는 age라는 변수를 생각해 볼 수 있다. 이 age라는 변수는 언제든지 재사용할 수 있고, 값 자체를 변경할 수도 있다.

lua 에서 변수의 선언은 다음과 같다. 

local 변수 이름 = 변수 값

local 이라는 용어는 해당 스크립트 안에서만 사용되는 변수라는 것을 알려준다. "=" 을 통해 변수 이름에 변수 값을 정해준다. 

 

그럼, 다음과 같은 코드를 스크립트에 추가해보자.

local platform = script.Parent

변수명은 platform 이 되고 변수 값은 script.Parent 가 된다. 그리고 이 platform이라는 변수는 이 스크립트안에서만 사용된다. 

변수값인 script.Parent를 살펴보면, 

  • script 는 이 소스코드를 포함하는 스크립트라는 게임 오브젝트 그 자체이다.
  • script와 Parent 사이의 "."의 의미는 앞의 요소안에 있는 뒤의 오브젝트를 의미한다. 즉, A.B라고 하면 A안에는 B라는 오브젝트가 있고 그 B를 가리키고 싶을 때 사용하는 lua 문법이다.
  • Parent는 스크립트안의 Parent 오브젝트를 가르킨다. Parent도 변수명이고, 이 때 변수의 값은 스크립트의 부모 오브젝트. 즉 앞에서 생성한 메인 블럭이다.

 

요약

  • 스크립트를 삽입하는 방법에 대해 배웠다.
  • 게임오브젝트.parent를 통해 탐색창 계층에서 부모 오브젝트를 찾아내는 법을 배웠다.
  • platform 이라는 붙혀서 변수로 만들었다.

 

다음글

2021.04.14 - [로블록스 개발 기초] - 로블록스 코딩 소개 (2/3)