사전준비
ReplicatedStorage 에서 + 버튼을 클릭해서 ModuleScript 를 생성합니다.
이름을 TestModule 로 변경합니다.
클래스
local TestModule = {}
TestModule.__index = TestModule -- 메타테이블 설정
--public static
function TestModule.testPubulicStaticFunction()
print( "TestModule.testPubulicStaticFunction" )
end
--private
local function testPrivateStaticFunction()
print( "TestModule.testPrivateStaticFunction" )
end
--private
function TestModule.callTestPrivateStaticFunction()
testPrivateStaticFunction()
end
function TestModule.new(name:String)
local self = setmetatable({}, TestModule)
--private value
local privateValue = "testPrivateValue"
--public value
self.name = name
--private function
local function testPrivateFunction()
print( "testPrivateFunction" )
end
--public function
function self:testPublicFunction()
print( "testModule:testPublicFunction()" )
end
function self:callTestPrivateFunction()
testPrivateFunction()
end
return self
end
return TestModule
클래스 사용하기
local TestModule = require(ReplicatedStorage.Scripts.TestModule)
-- static functions
TestModule.testPubulicStaticFunction() -- TestModule.testPubulicStaticFunction
-- TestModule.testPrivateStaticFunction() -- Error
TestModule.callTestPrivateStaticFunction() -- TestModule.testPrivateStaticFunction
local testModule = TestModule.new("Hello! Test A")
testModule:testPublicFunction() -- testModule:testPublicFunction()
--testModule:testPrivateFunction() -- Error
testModule:callTestPrivateFunction()
'개발 > Roblox Studio Lua' 카테고리의 다른 글
[로블록스] 자신의 클라이언트에 이벤트 전달 (0) | 2025.01.28 |
---|---|
[로블록스] 서버, 클라이언트 간 이벤트 전달 (0) | 2025.01.22 |
[로블록스] 캐릭터 움직임 제한하기 (0) | 2025.01.22 |
로블록스 스튜디오 기본 디렉토리 (1) | 2025.01.15 |