Seat
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bir oyuncu karakterinin "oturabileceği" bir BasePart türü.Bir karakter etkinleştirilmiş bir Koltuk nesnesine dokunduğunda, parçaya bir Weld ile bağlanacak ve varsayılan karakter senaryoları oturma animasyonu oynayacaktır.
Koltuklar nasıl çalışır?
Bir modelinde Humanoid ve bir BasePart bulunan bir model 'HumanoidRootPart' (genellikle bir oyuncu karakteri) bir koltuğa dokunduğunda, koltuk ve parça arasında bir Weld oluşturulur.C0 ve C1 özellikleri karakterin koltuğun üzerinde 2 çivi kaynaklanması için yapılandırılır.Bu kaynak 'Koltuk kaynağı' olarak adlandırılır ve koltuğa ebeveynlik eder.
Otururken Seat.Occupant özelliği koltukta "oturuyor" olan Humanoid özelliğine ayarlanır.Ayrıca, insansızın Humanoid.SeatPart özelliği koltuğa ayarlanır.
Bir karakter ayrıca Seat:Sit() işlevini kullanarak bir koltuğa oturmaya zorlanabilir.
Bir karakterin bir koltuktan çıkmasının iki yolu vardır.Bir oyuncu atladığında, koltuktan kaldırılır.Ancak bunun da manuel olarak yapılması mümkündür, örneğin koltuk kaynağını yok ederek:
koltuk:FindFirstChild("SeatWeld"):Yok Et()
Not koltuklarının bir bekleme süresi vardır (şu anda her karakter başına bir koltuk üzerine) ve bu bekleme süresi her koltuk için geçerlidir.Bu, bir karakter bir koltuktan çıktıktan sonra 3 saniye boyunca aynı koltuğa geri oturamayacağını ifade eder.Bu bekleme süresi davranışı değişebilir ve geliştiriciler tarafından güvenilmez.
Sandalyeler ne için kullanılabilir?
Sandalyeler, açık olanlardan daha az geleneksel olanlara kadar çeşitli kullanımlara sahiptir.
- Herhangi bir programlama gereksinimi olmadan sandalyeler veya banklar oluşturma
- Karakterlerin araçlar gibi hareketli nesnelerde "oturmasına" izin vererek etrafa fırlatılmadan
- Koltuğun karakteri tarafından kontrol edilen arayüzler oluşturmak için Seat.Occupant özelliğini kullanarak
Kod Örnekleri
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)
Özet
Özellikler
Koltuk kullanılabilir olup olmadığı. Eğer doğru olarak ayarlanırsa, koltuk normal bir parça olarak davranacaktır.
Koltukta oturan insansız.
Nesnenin genel şeklini ayarlar.
Bir parçanın fiziğe göre hareketsiz olup olmadığını belirler.
Parçanın montajındaki açısal hız.
Dünya uzayındaki parçanın montajının kütle merkezi.
Parçanın montajının lineer hızı.
Parçanın montajının toplam masesi.
Montajın kök kısmına bir referans.
Bir parçanın arka yüzü için yüzey türünü belirler (+Z yönü).
Bir parçanın alt yüzü için yüzey türünü belirler (-Y yönü).
Bir parçanın rengini belirler.
Dünyadaki BasePart konumunu ve yönünü belirler.
Bir parçanın diğer parçalarla çarpışıp çarpışmayacağını belirler.
Parçanın uzay sorgu operasyonları sırasında dikkate alınıp alınmadığını belirler.
Touched ve TouchEnded olaylarının parçada ateşlenip ateşlenmediğini belirler.
Bir parçanın gölge atıp atmadığını belirler.
Bir parçanın kütle merkezinin bulunduğu dünya konumunu tanımlar.
Bir parçanın çarpışma grupadını tanımlar.
Bir parçanın rengini belirler.
Parçanın mevcut fiziksel özelliklerini gösterir.
Bir parçanın birkaç fiziksel özelliğini belirler.
Parçalar ve montajlar üzerinde hava dinamik güçlerini etkinleştirmek veya devre dışı bırakmak için kullanılır.
Fizik motoru tarafından ele alınan BasePart 'nin gerçek fiziksel boyutu.
Bir parçanın ön yüzü için yüzey türünü belirler (-Z yönü).
Bir parçanın sol yüzünün yüzey türünü belirler (-X yönü).
Yerel müşteriye yalnızca görünen bir çarpanı BasePart.Transparency belirler, ki bu sadece yerel müşteridir.
Bir parçanın Studio'da seçilebilir olup olmadığını belirler.
Parçanın kütlesini, yoğunluğunun ve hacminin ürününü tanımlar.
Parçanın sert vücuttoplam kütlesine veya süspansiyonuna katkıda bulunup bulunmadığını belirler.
Bir parçanın dokusunu ve varsayılan fiziksel özelliklerini belirler.
MaterialVariant adı.
Dünyadaki parçanın dönüşünü tanımlar.
Parçanın merkezinin CFrame 'sinden ayrılma ofsetini belirtir.
Parçanın dünyadaki konumunu tanımlar.
Son kaydedilen fizik güncellemesinden beri geçen süre.
Bir parçanın gökyüzünü ne kadar yansıttığını belirler.
Yeniden boyutlandırma yöntemi tarafından kabul edilen en küçük boyut değişikliğini tanımlar.
Bir parçanın yeniden boyutlandırılabileceği yüzleri tanımlar.
Bir parçanın Sağ yüzünün yüzey türünü belirler (+X yönü).
Bir montajın kök parçasını belirlemenin ana kuralı.
Üç eksen için parçanın derecelerinde dönmesi.
Bir parçanın boyutlarını belirler (uzunluk, genişlik, yükseklik).
Bir parçanın üst yüzünün türünü belirler (+Y yönü).
Bir parçanın ne kadar görülebildiğini belirler (parça saydamlığının tersi).
Yöntemler
Karakteri belirtilen Humanoid ile oturmaya zorlar.
Montaja bir açısal hız uygulayın.
Montajın center of mass 'sinde montaja bir tepki uygulayın.
Belirtilen pozisyonda montaja bir tepki uygulayın.
Parçaların birbiriyle çarpıp çarpıp olmadığını döndürür.
Bir parçanın ağ sahipliğini ayarlayabileceğinizi kontrol eder.
Objeye herhangi bir sert bağlantı ile bağlı bir parça tablosu döndürür.
Bu Parçaya bağlı olan tüm Eklemleri veya Kısıtları geri döndür.
Mass özelliğinin değerini döndürür.
Bu parçanın ağ sahibi olan mevcut oyuncuyu veya nil sunucu durumunda döndürür.
Oyun motoru bu parça için ağ sahibini otomatik olarak karar verirse gerçek döndürür.
Bir parça grubunun temel parçasını döndürür.
Bu parçayla kesişen tüm BasePart.CanCollide gerçek parçaların bir tablosunu döndürür.
Bu parçanın montajının verilen konuma göre lineer hızını döndürür.
Nesne bir yerde tutacak bir parçaya bağlıysa gerçek döndürür (örneğin bir Anchored parçası), aksi takdirde yalan döndürür.
Bir nesnenin boyutunu, Studio yeniden boyutlandırma aracını kullanarak gibi değiştirir.
Verdiğiniz oyuncuyu bu ve tüm bağlı parçalar için ağ sahibi olarak ayarlar.
Oyun motorunun dinamik olarak kimin parçanın fiziğini ele alacağına karar vermesine izin verin (müşterilerden biri veya sunucu).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Parçanın ve verilen dizedeki diğer parçaların örtüşen geometrisinden yeni bir IntersectOperation oluşturur.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Parçadan yeni bir UnionOperation oluşturur, verilen matristeki parçaların geometrisinden eksilerek.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Parçadan yeni bir UnionOperation ve verilen matristeki parçalar tarafından işgal edilen geometri oluşturur.
Bir PVInstance 'nin merkezini alır.
Dönüştürür PVInstance tüm altındaki PVInstances ile birlikte pivotun şimdi belirtilen CFrame 'de yer aldığını, böylece dönüşüm aşağıdaki gibi gerçekleşir:
Etkinlikler
Şuradan alınan Etkinlikler: BasePartBir parça, fiziksel hareketin sonucu olarak başka bir parçaya dokunmayı bıraktığında ateş eder.
Bir parça fiziksel hareketin sonucu olarak başka bir parçaya dokunduğunda ateş eder.