Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah
  1. Dapatkan TweenService. Tulis openDoor(door): atur atribut Open pada pintu, nonaktifkan door.Panel.Prompt, lalu gerakkan panel dengan tween hingga berputar seperempat putaran pada engsel (0.6 detik).
  2. Tulis setupDoor(door): saat prompt pada panel dipicu, buka pintu kecuali pintu sudah terbuka.
  3. 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)
quiz iconUji dirimu

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