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.
Görev
KolayLobi kapısının açılarak dönmesini sağla.
- TweenService'i al.
openDoor(door)yaz:Openözniteliğini true olarak ayarla vedoor.Panel.Prompt'u kapat. - Ardından
door.Panel'i 0.6 saniyede gövdeningoalkonumuna, pozitif çeyrek dönüşle tween et:math.rad(90). setupDoor(door)yaz: Kapı açık değilsedoor.Panel.Prompt.Triggeredkapıyı açar. Bunuworkspace.Rooms.Lobby.Dooriç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