본문 바로가기
로블록스

모듈스크립트

by JK쌤 2022. 12. 22.

모듈 스크립트 기본 사항
ServerStorage 에서 ModuleScript 를 만듭니다 . ModuleScript는 일반적으로 서버 측 스크립트에서 사용할 때 ServerScriptService 에 배치 되고 클라이언트 측 로컬 스크립트에서 사용될 때 ReplicatedStorage 에 배치됩니다.

 

ModuleScript는 한 번 실행되고 정확히 하나의 값을 반환해야 하는 Lua 소스 컨테이너 유형입니다.  ModuleScript는 Lua 환경당 한 번만 실행되고 require에 대한 후속 호출에 대해 정확히 동일한 값을 반환합니다.

ModuleScript는 반복 금지 원칙을 준수하기 위한 필수 개체입니다. 함수를 작성할 때 한 번만 작성하고 모든 곳에서 사용하십시오. 함수의 복사본이 여러 개 있으면 해당 동작을 변경해야 할 때 재앙이 됩니다. 따라서 ModuleScript에서 함수 또는 함수 그룹을 정의하고 require해야 합니다.  출처: https://developer.roblox.com/en-us/api-reference/class/ModuleScript

 

모듈스크립트는 대개 ReplicatedStorage에 저장한다고 한다. 그 이유는 모르겠다. ReplicatedStorage는 서버와 연결된 게임 클라이언트 모두에서 사용할 수 있는 개체에 대한 일반 컨테이너 서비스이다.

 

ReplicatedStorage에 모듈스크립트를 만들고 이름을 'Fruit'로 변경한 후 아래 코드를 작성한다.

local fruitTable = {"apple", "orange", "pear"}

return fruitTable

 

그리고 Workspace에 스크립트를 생성 후 아래처럼 작성한다.

 

local fruit = require(game.ReplicatedStorage.Fruit)

print(fruit[1]) -->apple