Hej! Zbudujemy działające drzwi w Roblox Studio. Będą się otwierać i zamykać! Gotowi?
Krok 1: Tworzymy Prostokąt
Wyobraź sobie, że lepisz drzwi z plasteliny. My zrobimy to z partów.
Otwórz Roblox Studio. Na górze, kliknij zakładkę "Part".
Wybierz "Block". Pojawi się szary klocek. To baza naszych drzwi!
Widzisz małe kolorowe strzałki wokół klocka? Użyj ich, żeby go powiększyć i uformować drzwi. Pomyśl o prawdziwych drzwiach – są wysokie i w miarę cienkie.
Możesz też zmienić jego kolor. Kliknij na Part. Potem, w okienku "Properties" (po prawej), poszukaj "BrickColor". Wybierz kolor jaki chcesz!
Nazwij ten klocek "DoorPart". W oknie "Explorer" (po lewej), kliknij prawym przyciskiem myszy na Part i wybierz "Rename".
Krok 2: Kotwa
Nasze drzwi muszą być "zakotwiczone" (Anchored). Inaczej spadną! Wyobraź sobie, że przyklejasz je do podłogi.
Kliknij na "DoorPart". W zakładce "Model", znajdź przycisk "Anchor" (wygląda jak kotwica). Kliknij go. Teraz drzwi się nie przewrócą.
Krok 3: Zawiasy
Drzwi muszą się obracać na zawiasach. Stworzymy je! Najpierw musimy znaleźć środek krawędzi drzwi.
Dodaj kolejny Part (Block). Zmień jego rozmiar, żeby był malutki – jak pinezka! Użyj strzałek (Move Tool) i przesuń go na krawędź drzwi. Powinien być w połowie wysokości.
Nazwij ten mały Part "HingePart". Zakotwicz go! (Kliknij "Anchor").
Teraz musimy połączyć drzwi z zawiasem. Wykorzystamy WeldConstraint. To jak mocny klej!
W "Explorer", kliknij "+" obok "DoorPart". Wpisz "WeldConstraint" i kliknij na wynik. Teraz WeldConstraint jest w DoorPart.
W oknie "Properties" dla WeldConstraint, zobaczysz pola "Part0" i "Part1".
Kliknij na "Part0" i wybierz "DoorPart" z okna "Explorer".
Kliknij na "Part1" i wybierz "HingePart". Teraz drzwi i zawias są połączone.
Krok 4: Magia Ruchu - Skrypt
Teraz czas na kod! Dodamy skrypt, który sprawi, że drzwi się otworzą, gdy ktoś się do nich zbliży. To jak czujnik ruchu!
W "Explorer", kliknij "+" obok "DoorPart". Wybierz "Script".
Otworzy się okno z kodem. Skasuj wszystko, co tam jest i wklej ten kod:
local door = script.Parent
local hinge = door:FindFirstChild("HingePart")
local isOpen = false
local openAngle = -90 -- Kąt otwarcia drzwi (w stopniach)
local function openDoor()
if not isOpen then
isOpen = true
local rotationTween = TweenService:Create(hinge, TweenInfo.new(1), {CFrame = hinge.CFrame * CFrame.Angles(0, math.rad(openAngle), 0)})
rotationTween:Play()
end
end
local function closeDoor()
if isOpen then
isOpen = false
local rotationTween = TweenService:Create(hinge, TweenInfo.new(1), {CFrame = hinge.CFrame})
rotationTween:Play()
end
end
door.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
openDoor()
task.wait(3)
closeDoor()
end
end)
local TweenService = game:GetService("TweenService")
Wyjaśnienie: Ten skrypt "słucha", czy ktoś dotknął drzwi (door.Touched). Jeśli tak, otwiera drzwi (openDoor()), czeka 3 sekundy i zamyka (closeDoor()).
Pamiętaj! HingePart musi być dzieckiem DoorPart, a kąt otwarcia możesz zmieniać w zmiennej openAngle.
Krok 5: Testowanie
Kliknij "Play" na górze ekranu. Twój avatar pojawi się w grze. Podejdź do drzwi. Powinny się otworzyć, gdy je dotkniesz!
Jeśli coś nie działa, sprawdź:
- Czy DoorPart jest zakotwiczony?
- Czy HingePart jest zakotwiczony?
- Czy WeldConstraint jest poprawnie ustawiony?
- Czy skrypt jest wewnątrz DoorPart?
- Czy HingePart nazywa się "HingePart"?
Dodatkowe Ulepszenia
Możesz dodać uchwyt do drzwi! Dodaj kolejny mały Part i umieść go na drzwiach. To tylko dla wyglądu.
Możesz zmienić dźwięk otwierania. Dodaj obiekt Sound do DoorPart i załaduj dźwięk otwierania drzwi. Następnie, w skrypcie, odtwórz dźwięk przed otwarciem drzwi.
Gratulacje! Stworzyłeś działające drzwi w Roblox Studio!
