Açılan Kapılar
Coddy'nin Roblox Oyunu: Karanlıktan Kaçış kursunda ders 3 / 20.
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.
Görev
KolayTweenService'i al.openDoor(door)yaz: kapınınOpenözniteliğini ayarla,door.Panel.Prompt'u devre dışı bırak ve paneli menteşenin çeyrek turuna (0.6 saniyede) tween et.setupDoor(door)yaz: panelin istemi tetiklendiğinde, kapı zaten açık değilse kapıyı aç.workspace.Rooms.Lobby.Door'u ayarla.
Play'e bas, kapıya yürü ve E'ye bas. Ardından Check'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 hafif bir aydınlı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")
-- Her oyuncu: her canlandığı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)
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.