Menu
CoddyTech

여닫이문

Coddy의 Roblox 게임: 어둠에서 탈출하기 코스 레슨. 20개 중 3번째.

로비의 문에는 ProximityPrompt가 있습니다. 가까이 가면 플레이어에게 "E 열기"가 표시되고(휴대폰에서는 탭), 이를 누르면 플레이어와 함께 프롬프트의 Triggered가 실행됩니다.

문은 가운데가 아니라 경첩을 축으로 회전합니다. 문 모델에는 가장자리에 보이지 않는 Hinge 파트가 있습니다. 경첩을 기준으로 측정한 패널의 위치는 hinge.CFrame:ToObjectSpace(panel.CFrame)입니다. 경첩을 4분의 1바퀴 돌린 다음 그 위치를 적용하면 문이 열립니다:

local goal = hinge.CFrame * CFrame.Angles(0, math.rad(90), 0) * hinge.CFrame:ToObjectSpace(panel.CFrame)
TweenService:Create(panel, TweenInfo.new(0.6), { CFrame = goal }):Play()

트윈을 사용하면 문이 갑자기 이동하는 대신 부드럽게 회전합니다. 문이 열리면 문의 Open 속성이 설정되고 프롬프트가 꺼집니다.

challenge icon

챌린지

쉬움
  1. TweenService를 가져옵니다. openDoor(door)를 작성합니다. 문의 Open 속성을 설정하고, door.Panel.Prompt를 비활성화한 다음, 패널을 경첩을 기준으로 90도 회전하도록 트윈합니다(0.6초).
  2. setupDoor(door)를 작성합니다. 패널의 프롬프트가 트리거되면 문이 이미 열려 있지 않은 경우 문을 엽니다.
  3. workspace.Rooms.Lobby.Door를 설정합니다.

Play를 누르고 문까지 걸어가 E를 누릅니다. 그런 다음 Check를 누릅니다.

직접 해보기

local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Lighting = game:GetService("Lighting")
local Settings = require(game.ReplicatedStorage.Settings)

-- 밤이 찾아온다: 태양은 없고, 곳곳에 희미한 빛과 안개가 있다
Lighting.ClockTime = Settings.ClockTime
Lighting.Ambient = Settings.Ambient
Lighting.OutdoorAmbient = Settings.Ambient
Lighting.FogColor = Color3.new(0, 0, 0)
Lighting.FogEnd = Settings.FogEnd
print("Lights out")

-- 모든 플레이어: 부활할 때마다 손전등 하나씩
Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function()
		local flashlight = ServerStorage.Flashlight:Clone()
		flashlight.Parent = player.Backpack
		local beam = flashlight.Handle.Beam
		flashlight.Activated:Connect(function()
			beam.Enabled = not beam.Enabled
		end)
	end)
end)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Roblox 게임: 어둠에서 탈출하기의 모든 레슨