Pintu yang Berayun
Pelajaran 3 dari 20 dalam kursus Game Roblox: Kabur dari Kegelapan di Coddy.
Pintu lobi memiliki ProximityPrompt: saat berada di dekatnya, pemain melihat "E Buka" (ketukan di ponsel), dan menekannya akan memicu Triggered pada prompt dengan pemain.
Pintu berputar pada engselnya, bukan pada bagian tengahnya. Model pintu memiliki bagian Hinge yang tidak terlihat di tepinya. Posisi panel diukur dari engsel dengan hinge.CFrame:ToObjectSpace(panel.CFrame); putar engsel seperempat putaran lalu pasang kembali posisi itu, dan pintu pun terbuka:
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()Tween membuat pintu berayun, bukan melompat. Setelah terbuka, atribut Open pada pintu diatur dan prompt-nya dinonaktifkan.
Tantangan
Mudah- Dapatkan TweenService. Tulis
openDoor(door): atur atributOpenpada pintu, nonaktifkandoor.Panel.Prompt, lalu gerakkan panel dengan tween hingga berputar seperempat putaran pada engsel (0.6 detik). - Tulis
setupDoor(door): saat prompt pada panel dipicu, buka pintu kecuali pintu sudah terbuka. - Siapkan
workspace.Rooms.Lobby.Door.
Tekan Play, berjalanlah ke pintu, lalu tekan E. Kemudian tekan Periksa.
Coba sendiri
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Lighting = game:GetService("Lighting")
local Settings = require(game.ReplicatedStorage.Settings)
-- Malam tiba: tidak ada matahari, sedikit cahaya di mana-mana, dan kabut
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")
-- Setiap pemain: satu senter setiap kali hidup
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)
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Game Roblox: Kabur dari Kegelapan
Latihan sendiri: Playground Roblox