Menu
CoddyTech

Açılır Kapanır Kapılar

Coddy'nin Roblox Oyunu: Karanlıktan Kaçış kursunda ders 3 / 25.

Lobinin kapısında bir ProximityPrompt vardır: yakındayken oyuncu "E Aç" (telefonda dokunma) yazısını görür ve prompt'a bastığında prompt'un Triggered olayı oyuncuyla birlikte tetiklenir.

Bir kapı ortasından değil, menteşesinden döner. Kapı modelinin kenarında görünmez bir Hinge parçası vardır. Panelin menteşeye göre ölçülen konumu hinge.CFrame:ToObjectSpace(panel.CFrame) şeklindedir; menteşeyi çeyrek tur döndürüp bu konumu geri uyguladığında kapı açılmış olur:

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()

Bir tween, kapının zıplamak yerine dönerek açılmasını sağlar. Kapı açıldıktan sonra Open niteliği ayarlanır ve prompt devre dışı bırakılır.

challenge icon

Görev

Kolay

Lobi kapısının açılarak dönmesini sağla.

  1. TweenService'i al. openDoor(door) yaz: Open özniteliğini true olarak ayarla ve door.Panel.Prompt'u kapat.
  2. Ardından door.Panel'i 0.6 saniyede gövdenin goal konumuna, pozitif çeyrek dönüşle tween et: math.rad(90).
  3. setupDoor(door) yaz: Kapı açık değilse door.Panel.Prompt.Triggered kapıyı açar. Bunu workspace.Rooms.Lobby.Door için çağır.

“Oyna”'ya bas ve kapının yanındayken E'ye bas: kapı senden uzağa doğru açılır. Ardından “Kontrol et”'e bas.

Kendin dene

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

-- Gece çöküyor: güneş yok, her yerde biraz ışık ve sis var
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")

-- Ders 3: Sallanan Kapılar buraya gelecek

-- Her oyuncuya: her canında bir el feneri
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)

Roblox Oyunu: Karanlıktan Kaçış bölümündeki tüm dersler

Kendi başına pratik yap: Roblox playground