인스턴스는 로블록스의 모든것이라고 할 수 있을만큼 다양한 인스턴스가 존재한다.
스크립트 내에서 인스턴스를 가져오려면 어떻게 할까?
local newPart = Instance.new("Part", game.Workspace)
위의 코드는 새로운 인스턴스를 만들어서 newPart변수에 넣어주는 코드다.
새 인스턴스를 생성하기 위해 Instance.new() 라는 함수를 호출한 것이고, 파라미터 값으로는 ("인스턴스 종류", "인스턴스 parent")를 넣어줌으로써, 어떤 인스턴스를 어떤 parent 밑에 둘건지 결정할 수 있다.
인스턴스로 만들수 있는 것은 아주 다양하며, 적절하게 사용하면 다양한 것들을 구현할 수 있을 것이다.
그럼 인스턴스 생성함수를 이용해서 맵에 비를 내려주는 기능을 간단하게 구현해보도록 하자.
while true do
wait(0.2) -- 0.2초 대기
local RandomNum_X = math.random(1, 50) -- 1~50의 정수값을 랜덤으로 리턴
local RandomNum_Z = math.random(1, 50) -- 1~50의 정수값을 랜덤으로 리턴
local rain = Instance.new("Part", game.Workspace) -- Part 인스턴스 생성
rain.Size = Vector3.new(0.3, 2, 0.3) -- Part의 크기 설정
rain.Position = Vector3.new(RandomNum_X, 15, RandomNum_Z) -- Part의 위치값 설정
rain.Anchored = false -- 고정 x
rain.Transparency = 0.5 -- 투명도
end
위 코드는 0.2초마다 새 Part 인스턴스를 생성하여 위치와 크기를 세팅해주는 코드이다. Anchored = false이므로 자동으로 떨어지게 되어있다. 실행시켜보면 마치 하늘에서 비가 떨어지는 듯한 모습이 연상된다.
'기타' 카테고리의 다른 글
Lua 프로그래밍 기초 문법 (0) | 2021.04.13 |
---|---|
[Roblox] All about Welds (0) | 2021.04.11 |
[Roblox] leaderboard (0) | 2021.04.09 |
[Roblox] built-in function (0) | 2021.04.08 |
댓글