Seat
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Typ BasePart, w którym postać gracza może "usiąść".Kiedy postać dotknie aktywnego obiektu siedzenia, zostanie ona przymocowana do części za pomocą Weld i domyślne skrypty postaci zagrają animacjasiedzenia.
Jak działają siedzenia?
Kiedy model zawierający Humanoid i BasePart wezwał "HumanoidRootPart" (zwykle postać gracza) dotknął siedzenia, powstaje Weld między siedzeniem a częścią.Właściwości C0 i C1 są skonfigurowane tak, aby znak został spawany 2 ćwieki nad siedzeniem.Ta spawana jest nazywana "spawą siedzenia" i jest przypisana do siedzenia.
Gdy siedzisz właściwość Seat.Occupant jest ustawiona na Humanoid, która jest "siedząca" na siedzeniu.Ponadto właściwość Humanoid.SeatPart ludzkiegooidu jest ustawiona na siedzenie.
Postać może również zostać zmuszona do siedzenia na miejscu za pomocą funkcji Seat:Sit().
Są dwa sposoby, w jaki sposób postać może wyjść z siedzenia.Kiedy gracz skacze, jest usuwany z siedzenia.Jednak można to również zrobić ręcznie, niszcząc spawanie siedzenia, na przykład:
siedzenie:FindFirstChild("SeatWeld"):Destroy()
Siedzenia z notatkami mają okres odnowienia (obecnie 3 sekund) na podstawie jednego miejsca na każdą postać.Oznacza to, że po wyjściu z miejsca postać nie może ponownie usiąść na tym samym miejscu przez 3 sekundy.Zachowanie okresu odnowienia może się zmienić i nie powinno być polegane na programistach.
Do czego mogą być używane siedzenia?
Siedzenia mają zróżnicowany zakres zastosowań, wahający się od oczywistych po bardziej niekonwencjonalne.
- Tworzenie krzeseł lub siedzisk bez potrzeby programowania
- Pozwolenie znakom "siąść" w poruszających się obiektach, takich jak pojazdy, bez wyrzucania ich
- Tworzenie interfejsów, które są kontrolowane przez postać w siedzeniu za pomocą właściwości Seat.Occupant
Przykłady kodu
This code sample includes a demonstration of how the Seat.Occupant property can be used to track which player is sitting in a seat and when they sit down or sit up.
local Players = game:GetService("Players")
local seat = Instance.new("Seat")
seat.Anchored = true
seat.Position = Vector3.new(0, 1, 0)
seat.Parent = workspace
local currentPlayer = nil
local function onOccupantChanged()
local humanoid = seat.Occupant
if humanoid then
local character = humanoid.Parent
local player = Players:GetPlayerFromCharacter(character)
if player then
print(player.Name .. " has sat down")
currentPlayer = player
return
end
end
if currentPlayer then
print(currentPlayer.Name .. " has got up")
currentPlayer = nil
end
end
seat:GetPropertyChangedSignal("Occupant"):Connect(onOccupantChanged)
Podsumowanie
Właściwości
Czy siedzenie jest używalne czy nie. Jeśli ustawione jest na prawdę, siedzenie będzie działać jako zwykła część.
Humanoide, który siedzi na siedzeniu.
Ustawia ogólną formę obiektu.
Określa, czy część jest nieruchoma z fizyki.
Prędkość kątowa montażu części.
Centrum masy złożenia części w przestrzeni świata.
Liniowa prędkość montażu części.
Całkowita masa montażu części.
Odwołanie do części korzeniowej zbioru.
Określa rodzaj powierzchni dla tylnej strony części (+ kierunek Z).
Określa rodzaj powierzchni dla dolnej strony części (-Y kierunek).
Określa kolor części.
Określa pozycję i orientację BasePart w świecie.
Określa, czy część może zderzyć się z innymi częściami.
Określa, czy część jest rozważana podczas operacji zapytania przestrzennego.
Określa, czy zdarzenia Touched i TouchEnded wystrzelają z części.
Określa, czy część rzuca cień, czy nie.
Opisuje pozycję świata, w której znajduje się centrum masy części.
Opisuje nazwę grupakolizji części.
Określa kolor części.
Wskazuje aktualne właściwości fizyczne części.
Określa kilka fizycznych właściwości części.
Używany do włączania lub wyłączania sił aerodynamicznych na częściach i zespołach.
Rzeczywisty rozmiar fizyczny BasePart zgodnie z silnikiem fizycznym.
Określa rodzaj powierzchni dla przodu części (-Z kierunek).
Określa rodzaj powierzchni dla lewej strony części (-X kierunek).
Określa mnożnik dla BasePart.Transparency, który jest widoczny tylko dla lokalnego klienta.
Określa, czy część jest wybieralna w Studio.
Opisuje masę części, produkt jej gęstości i objętości.
Określa, czy część przyczynia się do całkowitej masy lub bezwładności jej twardego ciało.
Określa teksturę i domyślne właściwości fizyczne części.
Nazwa MaterialVariant.
Opisuje rotację części w świecie.
Określa przesunięcie osi części od jej CFrame.
Opisuje pozycję części w świecie.
Czas od ostatniej rejestrowanej aktualizacjafizyki.
Określa, ile część odzwierciedla niebo.
Opisuje najmniejszą zmianę rozmiaru dozwoloną przez metodę Skalowanie.
Opisuje twarze, na których można zmienić rozmiar części.
Określa rodzaj powierzchni dla prawej strony części (+X kierunek).
Główna zasada określania głównej części złożenia.
Rotacja części w stopniach dla trzech osi.
Określa wymiary części (długość, szerokość, wysokość).
Określa rodzaj powierzchni dla górnej części części (+ kierunek Y).
Określa, jak dużo część może być widoczna poprzez (odwrotność przeźroczystości części).
Metody
Zmusza postać z określonym Humanoid do siedzenia na siedzeniu.
Zastosuj impuls kątowy do złożenia.
Zastosuj impuls do zgromadzenia na zgromadzeniu center of mass .
Zastosuj impuls do złożenia w określonej pozycji.
Zwraca, czy części mogą się ze sobą zderzać.
Sprawdza, czy możesz ustawić własność sieci części.
Zwraca tabelę części połączonych z obiektem za pomocą dowolnego rodzaju sztywnego stawu.
Zwróć wszystkie stawy lub ograniczenia, które są połączone z tą częścią.
Zwraca wartość właściwości Mass .
Zwraca obecnego gracza, który jest właścicielem sieci tej części lub nil w przypadku serwera.
Zwraca prawdę, jeśli silnik gry automatycznie decyduje o właścicielu sieci dla tej części.
Zwraca podstawową część zespołu części.
Zwraca tabelę wszystkich BasePart.CanCollide prawdziwych części, które się z tym częścią pokrywają.
Zwraca liniową prędkość montażu części w danym położeniu względem tej części.
Wyświetla prawdę, jeśli obiekt jest połączony z częścią, która go utrzyma w miejscu (np. częścią Anchored), w przeciwnym razie wyświetla fałsz.
Zmienia rozmiar obiektu tak jak za pomocą narzędzia przesuwania rozmiaru Studio.
Ustawia danego gracza jako właściciela sieci dla tej i wszystkich połączonych części.
Pozwala silnikowi gry dynamicznie decydować, kto będzie zajmował się fizyką części (jeden z klientów lub serwer).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nową IntersectOperation z pokrywającej się geometrii części i innych części w danym obszarze.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nowy UnionOperation z części, odejmując geometrię zajętą przez części w danym array.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nowy UnionOperation z części, plus geometrię zajętą przez części w danym array.
Otrzymuje pivot z PVInstance .
Przekształca PVInstance wraz z całym jego potomkiem PVInstances tak, że osie zostaną teraz umieszczone w określonym CFrame .
Zdarzenia
Zdarzenia odziedziczeni z: BasePartWypala się, gdy część przestaje dotykać innej części w wyniku ruchu fizycznego.
Wypala się, gdy część dotyka innej części w wyniku ruchu fizycznego.