Instance

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Gezilemez

Instance Roblox sınıf hiyerarşisindeki tüm sınıfların temel sınıfıdır, DataModel ağacının bir parçası olabilir.

Doğrudan kök Instance nesneler oluşturmak mümkün değildir, ancak özel Instance.new() yapıcı kod aracılığıyla nesneler oluşturur ve sınıfın adını bir parametre olarak alır ve oluşturulan nesneyi geri verir.

Özet

Özellikler

  • Paralel oku

    Bir Instance ve onun soyundakilerin Instance:Clone() kullanarak klonlanıp kaydedilebileceğini veya yayınlanabileceğini belirler.

  • Capabilities:SecurityCapabilities
    Paralel oku

    Bu kapsayıcının içinde kullanılabilecek yeteneklerin seti.

  • Paralel oku

    Eşsiz olmayan bir tanımlayıcı Instance .

  • Çoğaltılmamış
    Paralel oku

    Instance 'nin hiyerarşik ebeveynini belirler.

  • Gizli
    Eklenti Güvenliği
    Paralel oku
    Artık Kullanılmayan

    CoreGui nesnelerini korumak için kullanılan eski bir özellik.

  • Çoğaltılmamış
    Paralel oku

    Instansı bir kumlanmış kutu olarak dönüştürür.

  • UniqueId:UniqueId
    Çoğaltılmamış
    Betiklenemez
    Roblox Güvenliği
    Paralel oku

    durumiçin benzersiz bir tanımlayıcı.

Yöntemler

Etkinlikler

Özellikler

Archivable

Paralel oku

Bu özellik, deneyim yayınlandığında veya kaydedildiğinde örnek dahil edilip edilmeyeceğini veya Clone() durumatalarından birine çağrıldığında belirler.Bir örneğe doğrudan çağrılmak Clone() örneğin eğer o örnek nil değilse Archivable dönecektir.

Studio'da Yinelenen veya Kopyala / Yapıştır seçeneklerini kullanarak bir nesneyi kopyalamak, kendi özelliklerini görmezden gelip kopya için ayarlayacaktır.


local part = Instance.new("Part")
print(part:Clone()) --> Part
part.Archivable = false
print(part:Clone()) --> nil

Capabilities

SecurityCapabilities
Paralel oku

Bu durumiçindeki senaryolar için kullanılabilen yeteneklerin seti.Yeteneklerin etkili olması için, Instance.Sandboxed özelliğinin etkinleştirilmesi gerekir.

Bu özellik deneysel bir özellik tarafından kullanılır. Daha fazla ayrıntı için senaryo yetenekleri bakın.

Name

Paralel oku

Eşsiz olmayan bir tanımlayıcı Instance .İsimler, nesne hiyerarşisini organize etmek ve özel nesnelere erişim izin vermek için kullanılır, böylece kodlar belirli nesnelere erişebilir.Bir instanstanın adı boyutunda 100 karakterden fazla olamaz.

Bir nesnenin adı genellikle aşağıdaki yöntemleri kullanarak veri modeli hierarşisi aracılığıyla nesneye erişmek için kullanılır:


local Workspace = game:GetService("Workspace")
local baseplate = Workspace.Baseplate
local baseplate = Workspace["Baseplate"]
local baseplate = Workspace:FindFirstChild("BasePlate")

Bir nesneye nokta işlecisi kullanarak erişilebilir hale getirmek için ( . ), adı bir alt çizgi veya harfle başlamalı ve adın geri kalanı sadece harfler, sayılar veya alt çizgiler içerebilir (başka özel karakter yok).Bir nesnenin adı bu sözdizimine uymazsa, nokta işlecisi kullanılarak erişilemeyecek ve Luau adını tanımlayıcı olarak yorumlamayacaktır.

Aynı adı taşıyan birden fazla nesne kardeşse, bir nesneyi bu adla indekslemeye çalışmak, örneğin Instance:FindFirstChild() gibi, ancak hep istediğiniz nesne değil, sadece bir nesneyi döndürecektir.Belirli bir nesneye kod aracılığıyla erişilmesi gerekiyorsa, benzersiz bir ad vermeniz veya kardeşlerinin aynı adı paylaşmadığını garanti etmeniz önerilir.

Ayrıca bakın Instance:GetFullName() nesnenin hiyerarşisini içeren bir tam adı elde etmek için.

Parent

Çoğaltılmamış
Paralel oku

The Parent özelliği, Instance 'in hiyerarşik ebeveynini belirler.Bu özellik nasıl ayarlandığından bahsederken aşağıdaki terminoloji yaygın olarak kullanılır:

  • Bir nesne bir çocuktur ebeveyni veya o nesnenin çocuğu olur, ya da o nesnenin Parent o nesneye ayarlanır, başka bir nesne.

  • Bir mirasçıları ın Instance oğulları o nesnenin çocuklarıdır, plus da oğulların soyları da.

  • Bir örneğin atalarının tümü, örneğin bir instansının bir altı olduğu tüm nesnelerdir.

Birçok diğer API üyesinin adını aldığı Parent özellikten gelir, örneğin GetChildren() ve FindFirstChild().Bu özellik ayrıca bir nesnenin deneyimde olup olmadığını yönetmek veya kaldırılması gerektiğini belirlemek için kullanılır.Bir nesnenin ebeveyni DataModel 'de olduğu sürece, bir değer depolanır veya başka bir nesnenin özelliği tarafından referanslandırılırsa, nesne deneyimde kalır; aksi takdirde, nesne otomatik olarak kaldırılır.

çağrısı bir 'in ve tüm yavrularının 'ine ayarlanacak ve ayrıca kilitleyecek özellik.Yıkılmış bir nesnenin Parent kısmını ayarlarken bir hata oluşur.

Yeni oluşturulan nesneler Instance.new() kullanarak yaratılırken ebeveyn olmayacak ve genellikle bir ayarlabelirlenene kadar görünmeyecek veya işlev görmeyecek.

Nesne Replikasyonu

Sunucu tarafından oluşturulan bir nesne, yinelenen bir nesneye ebeveyn olana kadar müşterilere yinelenmeyecektir.Bir nesne oluştururken ve birçok özellik ayarlarken, Parent özelliğini sona ayarlamak önerilir.Bu, nesnenin birçok özellik değişikliğini yerine yeniden yapmasını engeller. bir kez yeniden yapar.


local Workspace = game:GetService("Workspace")
-- Yeni durumebeveynini son olarak ayarla (önerilir)
local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Parent = Workspace

Ancak, ebeveynlik parçalarının henüz ebeveyni belirlenmediği bir Model ebeveynliği, modelin yeniden yapılmış olmayacağından, her bir parçayı bu model için ebeveynleştirmek kabul edilebilir çünkü model yeniden yapılmayacaktı.

RobloxLocked

Gizli
Eklenti Güvenliği
Paralel oku

Bu özellik, CoreGui hizmetindeki nesnelerin yetkisiz kullanıcılar tarafından değiştirilmesini engellemek için kullanılırdı.Kaldırıldı ve hiçbir şey yapmıyor.

Sandboxed

Çoğaltılmamış
Paralel oku

Instansı bir kumlanmış kutu konteyneri haline getirir, özel bir kapsayıcıdaki kodların yapabileceği eylemleri sınırlayan deneysel bir özellik.Daha fazla ayrıntı için senaryo yeteneklerini görün.

UniqueId

UniqueId
Çoğaltılmamış
Betiklenemez
Roblox Güvenliği
Paralel oku

Özel bir tanımlayıcı, benzersiz olmayan durum, Instance.Name farklı olan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benz olmayan benz olmayan benz olmayan benz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benzersiz olmayan benz olmayan benz olmayan benz olmayan benz olmayan benz olmayan benz olmayan benz olmayan benz olmayan benz olmayan olmayan benz olmayan benz olmayan benz olmayan benz olmayan benz olmayan olmayan benz olmayan olmayan benz olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmay olmayan olmayan olmayan olmayan olmay olmayan olmayan olmay olmay olmayan olmay olmay olmayan olmay olmay olmayan olmay olmay olmayan olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmaymay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay olmay ol

Yöntemler

AddTag

()

Bu yöntem, etiket uygulanırsa etiket zaten uygulanmışsa etkisi olmadan durumbir etiket uygular.Başarıyla bir etiket eklemek, verilen etiketle CollectionService:GetInstanceAddedSignal() tarafından oluşturulan bir sinyali ateş edecektir.

Uyarılar
  • İstemci tarafından eklenen bir durumetiketi, sunucu daha sonra bu örnek üzerinde bir etiket ekler veya kaldırırsa, sunucu tüm etiketleri bir araya getirir ve önceki etiketleri üzerine yazar.

  • Bir durumetiket atarken, etiketin işlevini vermek için bazı kaynakların kullanılması yaygındır, örneğin etkinlik bağlantıları veya tablolar.Hafıza sızıntılarını önlemek için, bunları temizlemek (bağlantı kes, nil olarak ayarla, vb.) bir etiket için artık gerekmediğinde iyi bir fikirdir.Instance:RemoveTag() , Instance:Destroy() veya CollectionService:GetInstanceRemovedSignal() tarafından döndürülen bir sinyale bağlı bir işlev çağrırken bunu yapın.

Parametreler

tag: string
Varsayılan değer: ""

Dönüşler

()

ClearAllChildren

()

Bu işlev, bir durumtüm çocuklarını ve torunlarını yok eder.

Tüm çocukları ve torunları yok etmek istemiyorsanız, bu çocukları/torunları döngüye sokmak için ya Instance:GetChildren() ya da Instance:GetDescendants() kullanın ve neyi yok etmek istediğinizi seçin.Örneğin, aşağıdaki kod örneği tüm BaseParts bir Model 'dan inenleri yok edecektir:


local Workspace = game:GetService("Workspace")
local model = Workspace:FindFirstChild("TestModel")
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant:Destroy()
end
end

Dönüşler

()

Kod Örnekleri

This example creates a Part and adds a few sparkle objects to the part. Then it calls Part:ClearAllChildren() to remove all of the children.

Instance:ClearAllChildren

local part = Instance.new("Part")
-- add some sparkles
for _ = 1, 3 do
local sparkles = Instance.new("Sparkles")
sparkles.Parent = part
end
print("Part has", #part:GetChildren(), "children")
--> Part has 3 children
part:ClearAllChildren()
print("Part has", #part:GetChildren(), "children")
--> Part has 0 children

Clone() bir örneğin ve tüm yavrularının bir kopyasını oluşturur ve Archivable olmayan tüm örnekleri görmezden gelir.Kök örneğin kopyası bu yöntem tarafından geri döndürülür ve Parent ı nil olarak ayarlanır.Not: Eğer örnek kendisi için ayarlanmışsa, bu işlev döndürecektir.

Bir referans özelliği, örneğin ObjectValue.Value , klonlanmış bir durumayarlanırsa, kopyanın özelliğinin değeri orijinalin değerine bağlıdır:

  • Bir referans özelliği ayrıca klonlanmış bir örneğe işaret ediyorsa, kopya referans olacaktır.
  • Bir referans özelliği klonlanmamış bir nesneye referans veriyorsa , aynı değer kopyada korunur.

Dönüşler

Kod Örnekleri

Demonstrates cloning a model using Instance:Clone().

Cloning an Instance

local Workspace = game:GetService("Workspace")
-- Get a reference to an existing object
local model = script.Parent.Model
-- Create a clone of the model
local clone = model:Clone()
-- Move the clone so it's not overlapping the original model
clone:PivotTo(model.PrimaryPart.CFrame - (Vector3.xAxis * 10))
-- Add the clone to the Workspace
clone.Parent = Workspace

Destroy

()

Instance.Parent özelliğini nil olarak ayarlar, Instance.Parent özelliğini kilitler, tüm bağlantıları keser ve tüm çocuklar için Destroy() çağrır.Bu işlev artık gerekmeyen nesneleri imha etmenin doğru yoludur.

Gerekli olmayan nesnelerin atılması önemlidir, çünkü bir yerde gereksiz nesneler ve bağlantılar zamanla ciddi performans sorunlarına yol açabilen belleği tüketir.

Bir nesneye Destroy() üzerinde çağrıldıktan sonra en iyi uygulama olarak, nesneyi (veya onun soyundakilerini) referans alan herhangi bir değişkeni nil 'ye ayarlayın.Bu, kodunuzun nesne ile ilgili herhangi bir şeye erişmesini engeller.


local part = Instance.new("Part")
part.Name = "Hello, world"
part:Destroy()
-- Bunu yapmayın:
print(part.Name) --> "Merhaba, dünya"
-- Yukarıdaki satırın çalışmasını engellemek için bunu yapın:
part = nil

Bir Instance bu yöntemle yok edildikten sonra, Instance.Parent özelliği kilitli olduğundan tekrar kullanılamaz.To geçici olarak bir nesneyi yok etmek yerine kaldırmak için, Parent``nil.Örneğin:


local Workspace = game:GetService("Workspace")
object.Parent = nil
task.wait(2)
object.Parent = Workspace

Bir nesneyi belirli bir süre sonra yok etmek için, Debris:AddItem() kullanın.


Dönüşler

()

Kod Örnekleri

Demonstrates destroying a Part using the Instance:Destroy() function.

This function is the correct way to dispose of objects that are no longer required.

Instance:Destroy()

local part = script.Parent.Part
part:Destroy()

FindFirstAncestor

Paralel yaz

Verilen adın eşit olduğu Instance ın ilk atasını döndürür, ki Instance.Name verilen adın eşit olduğu.

Bu işlev yukarı doğru çalışır, yani durumhemen Instance.Parent 'de başlar ve DataModel 'ye doğru çalışır.Eşleşen bir ata bulunamıyorsa, nil döndürür.

Aşağıdaki kod parçacığı, adı Car olan nesnenin ilk atasını bulurdu.


local car = object:FindFirstAncestor("Car")

Belirli bir sınıfın atalarını bulan bu işlevin çeşitleri için, lütfen Instance:FindFirstAncestorOfClass() ve Instance:FindFirstAncestorWhichIsA() görün.

Parametreler

name: string

Arayılacak Instance.Name .

Varsayılan değer: ""

Dönüşler

FindFirstAncestorOfClass

Paralel yaz

Verilen sınıfa eşit olan Instance 'in ilk atasını döndürür Object.ClassName .

Bu işlev yukarı doğru çalışır, yani durumhemen Instance.Parent 'de başlar ve DataModel 'ye doğru çalışır.Eşleşen bir ata bulunamıyorsa, nil döndürür.

Bu işlevin yaygın bir kullanımı, Model bir BasePart ait olduğunu bulmaktır. Örneğin:


local model = part:FindFirstAncestorOfClass("Model")

Bu işlev, Instance:FindFirstAncestor() özelliğini Object.ClassName yerine kontrol eden bir çeşit Instance.Name varyantıdır.Instance:FindFirstAncestorWhichIsA() ayrıca mevcut, sınıf mirasına saygı göstermek için Object:IsA() yöntemi yerine kullanıyor.

Parametreler

className: string

Arayılacak Object.ClassName .

Varsayılan değer: ""

Dönüşler

FindFirstAncestorWhichIsA

Paralel yaz

Verilen sınıf için Instance geri dönen ilk atadan geri döner, kimin için Object:IsA() gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür gerçek döndürür

Bu işlev yukarı doğru çalışır, yani durumhemen Instance.Parent 'de başlar ve DataModel 'ye doğru çalışır.Eşleşen bir ata bulunamıyorsa, nil döndürür.

Farklı olarak Instance:FindFirstAncestorOfClass() , bu işlev sınıf mirasına saygı gösteren Object:IsA() kullanır. Örneğin:


print(part:IsA("Part")) --> true
print(part:IsA("BasePart")) --> true
print(part:IsA("Instance")) --> true

Bu nedenle, aşağıdaki kod örneği, bir , veya olup olmadığına bakmaksızın ilk atadan geri dönecektir.


local part = object:FindFirstAncestorWhichIsA("BasePart")

Ayrıca bakın Instance:FindFirstAncestor() .

Parametreler

className: string

Arayılacak Object.ClassName .

Varsayılan değer: ""

Dönüşler

FindFirstChild

Paralel yaz

Verilen adla birlikte Instance ilk çocuğu döndürür veya hiçbir çocuk yoksa nil .Eğer seçici recursive argumenti true ise, bu işlev tüm altları arar, ancak sadece Instance 'in acil çocukları değil.

Bir Nesnenin Varlığını Kontrol Etme

FindFirstChild() devam etmeden önce bir nesnenin var olup olmadığını doğrulamanız gerekiyorsa, devam etmek için gereklidir.Nokta işlecisi kullanılarak bir çocuğun adıyla indekslenmesi denemesi, çocuk mevcut değilse bir hata verir.


local Workspace = game:GetService("Workspace")
-- Parça çalışma alanında mevcut değilse aşağıdaki satır hataları
Workspace.Part.Transparency = 0.5

Önce FindFirstChild() kontrol etmek için kullanın Part , ardından ihtiyacı olan kodu çalıştırmak için bir if ifadesi kullanın.


local Workspace = game:GetService("Workspace")
local part = Workspace:FindFirstChild("Part")
if part then
part.Transparency = 0.5
end
Adı bir özellikle eşleşen bir çocuk bulmak

Bazen bir nesnenin Name 'si onun Parent 'sinden aynıdır.Nokta işlecisini kullanırken, özellikler bir ismi paylaşıyorlarsa çocuklardan önceliklidir.

Aşağıdaki örnekte, "Renk" adlı bir Folder "Renk" adlı bir Part , ayrıca Part.Color özelliğine sahip bir eklenir.Part.Color , Klasör değil, Color3 'a işaret eder.


local part = Instance.new("Part")
local folder = Instance.new("Folder")
folder.Name = "Color"
folder.Parent = part
local c = part.Color --> Bir Renk3
local c2 = part:FindFirstChild("Color") --> The Folder

Bu şekilde FindFirstChild() kullanmanın bir avantajı, yeni özelliklerin tanıtılmasının kodunuza bir risk getirmemesi.

Performans Notları

FindFirstChild() nokta işlecisini kullanmaktan yaklaşık olarak% 20 daha uzun sürer ve bir nesneye referans depolamaktan neredeyse 8 kat daha uzun sürer.Bu nedenle, sıkı döngüler veya RunService.Heartbeat ve RunService.PreRender 'ye bağlı işlevler gibi performansa bağlı kodlarda çağırmaktan kaçınmalısınız.Bunun yerine, sonucu bir değişken olarak depolayın veya belirli bir ismin çocuğunun mevcut olduğunu tespit etmek için ChildAdded veya WaitForChild() kullanmayı düşünün.

Parametreler

name: string

Arayılacak Instance.Name .

Varsayılan değer: ""
recursive: boolean

Arama recursively yapılmalı mı yoksa yapılmamalı mı.

Varsayılan değer: false

Dönüşler

Kod Örnekleri

The below would look in Workspace for an object name "Brick". If found, it will change the name of the object to "Foo".

Instance:FindFirstChild

local found = workspace:FindFirstChild("Brick")
if found then
found.Name = "Foo"
end

FindFirstChildOfClass

Paralel yaz

Verilen Instance ile eşit olan ClassName 'in ilk çocuğunu döndürür className.Farklı olarak , bu işlev sadece sınıf mirasını görmezden gelen sınıfların nesnelerini döndürür, sınıf mirasını görmezden gelir.Eşleşen bir çocuk bulunmazsa, bu işlev nil döndürür.

Parametreler

className: string

Arayılacak Object.ClassName .

Varsayılan değer: ""

Dönüşler

Kod Örnekleri

Instance:FindFirstChildOfClass

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid
while not humanoid do
humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid then
character.ChildAdded:Wait()
end
end

FindFirstChildWhichIsA

Paralel yaz

Verilen sınıf için Instance geri dönen ilk çocuğu için Object:IsA() geri döner ve verilen sınıf için gerçek döndürür.

Eşleşen bir çocuk bulunmazsa, bu işlev nil döndürür.Opsiyonel recursive argüman doğruysa, bu işlev yalnızca Instance 'in hemen çocukları değil tüm torunları arar.

Farklı olarak Instance:FindFirstChildOfClass() , bu işlev sınıf mirasına saygı gösteren Object:IsA() kullanır. Örneğin:


print(part:IsA("Part")) --> doğru
print(part:IsA("BasePart")) --> doğru
print(part:IsA("Instance")) --> true

Bu nedenle, aşağıdaki kod örneği, bir , veya olup olmadığına bakmaksızın ilk çocuğu döndürecektir.


local part = object:FindFirstChildWhichIsA("BasePart")

İsmiyle bir çocuk arayan geliştiriciler, bunun yerine Instance:FindFirstChild() kullanmalıdır.

Parametreler

className: string

Arayılacak Object.ClassName .

Varsayılan değer: ""
recursive: boolean

Arama recursively yapılmalı mı yoksa yapılmamalı mı.

Varsayılan değer: false

Dönüşler

FindFirstDescendant

Paralel yaz

Verdiği Instance.Name ile bulunan ilk soyundan geri döner.

Bu yöntem devre dışıdır ve kullanılamaz.Bir durumilk soyundakini bulmak için, yerine recursive parametresini kullanmayı düşünün Instance:FindFirstChild() .

Parametreler

name: string

Aranacak Instance.Name .

Varsayılan değer: ""

Dönüşler

GetActor

Paralel yaz

Eğer Instance bir Actor ise, Actor kendisi iade edilir.Aksi takdirde, en yakın atası Actor geri döndürülür.Eğer hiç ata bir Actor değilse, sonuç nil dir.


Dönüşler

Bulunan Actor .

GetAttribute

Variant
Paralel yaz

Bu yöntem, verilen öznitelik adına atanmış olan değeri döndürür. Eğer herhangi bir öznitelik atanmadıysa, nil döndürülür.

Örneğin, aşağıdaki kod parçacıkları ayarlanır ve ardından örneğin InitialPosition özniteliğinin değeri alınır:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
part:SetAttribute("InitialPosition", part.Position)
local initialPosition = instance:GetAttribute("InitialPosition")
print(initialPosition)
Ayrıca bakın
  • Instance:SetAttribute() özniteliği verilen isimle verilen değere ayarlayan öznitelik, which sets the attribute with the given name to the given value.
  • Instance:GetAttributes() , her bir durum özniteliği için bir anahtar değer çiftleri sözlüğü döndüren

Parametreler

attribute: string

Alınan özniteliğin adı.

Varsayılan değer: ""

Dönüşler

Variant

Verdiğiniz öznitelik adına atanan değer. Eğer bir öznitelik atanmadıysa, nil döndürülür.

GetAttributeChangedSignal

Bu işlev, yalnızca belirli verilen özellük değiştiğinde ateşlenen bir olayı döndürür; aslında özellüklere benzer, ancak özellüklere benzer.

Bu yöntemi, öznitelik adını kontrol eden bir işlevle bağlantı yerine kullanmak genellikle iyi bir fikirdir Changed .Aynı öznitelik adıyla aynı nesneye yapılan sonraki bu yönteme çağrıları aynı olayı döndürür.

Aşağıdaki kod örneği, parçanın InitialPosition özniteliği değiştiğinde işlevi attributeChanged() ateşleyen bir sinyal döndürür:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
part:SetAttribute("InitialPosition", part.Position)
local function attributeChanged()
print("Attribute changed")
end
part:GetAttributeChangedSignal("InitialPosition"):Connect(attributeChanged)

Ayrıca bakın Instance.AttributeChanged , herhangi bir öznitelik değiştirildiğinde istisna olarak durumateş eden.

Parametreler

attribute: string

Değişim sinyali iade edilen belirtilen özniteliğin adı.

Varsayılan değer: ""

Dönüşler

Verilen öznitelik değiştiğinde ateşlenen bir olay.

GetAttributes

Paralel yaz

Bu yöntem, anahtarın adı anahtar ve değerin bir değeri olmayan her öznitelik için bir anahtar-değer çifti sözlüğü döndürür. This method returns a dictionary of key‑value pairs for each attribute where the key is the attribute's name and the value is a non‑nil value.

Örneğin, aşağıdaki kod parçacığı bir durumöznitelikleri ve değerleri çıkarır:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
part:SetAttribute("InitialPosition", part.Position)
part:SetAttribute("CanUse", true)
for name, value in part:GetAttributes() do
print(name .. " = " .. value)
end

Ayrıca bakın Instance:GetAttribute() , verilen öznitelik adına atanan değeri döndüren kişi.


Dönüşler

Dize için öznitelik → varyant çiftleri için her bir özniteliğin adı ve varyant bir non-sıfır değer olduğunda bir sözlük. A dictionary of string → variant pairs for each attribute where the string is the name of the attribute and the variant is a non-nil value.

GetChildren

Instances
Paralel yaz

Tüm durumun doğrudan çocuklarını içeren bir dizi (sayısal indeksli bir tablo) veya nesnenin eşit olduğu her Instance herkesi döndürür Parent herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndürür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi döndür herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkesi herkes herkesi herkesi herkesi herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes her herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkes herkesDizgi, bir sayısal veya genel for döngüsü kullanarak döngülenebilir:


local Workspace = game:GetService("Workspace")
-- Sayısal for döngü örneği
local children = Workspace:GetChildren()
for i = 1, #children do
local child = children[i]
print(child.Name .. " is child number " .. i)
end

local Workspace = game:GetService("Workspace")
-- Genel döngü örneği
local children = Workspace:GetChildren()
for i, child in children do
print(child.Name .. " is child number " .. i)
end

Çocuklar, Parent özelliklerinin nesneye ayarlanma sırasına göre sıralanır.

Ayrıca GetDescendants fonksiyonunu da görün.


Dönüşler

Instances

İstisna sınıfının çocuklarını içeren bir dizi.

Kod Örnekleri

The below would print the name of all objects currently in Workspace when ran.

Instance:GetChildren

local children = workspace:GetChildren()
for i = 1, #children do
print(i, children[i].Name)
end

GetDebugId

Gezilemez
Eklenti Güvenliği

Roblox tarafından içeride kullanılan depurasyon kimliğinin kodlanmış bir dizesini döndürür. Not et:

  • Bu öğe korunuyor. Onu bir Script veya LocalScript kullanmaya çalışmak bir hata verecektir.
  • Bir depurasyon kimliği, depurasyon süreçlerinde kullanılan bir kimliktir.Bir depurmanın bir uygulama işlemden önce her talimatı okumasına izin verir.Roblox'taki tüm nesneler süreçler gibi davranır ve gerekirse depur edilebilen her bir çalıştırma talimatı (veya 'kod') vardır.
  • Bu, benzer nesneleri birbirinden ayırmak zorunda olan eklentiler için yararlı olabilir (örneğin aynı adı paylaşan nesneler).

Parametreler

scopeLength: number

Alan uzunluğu.

Varsayılan değer: 4

Dönüşler

Sorun giderme ID dizi.

Kod Örnekleri

Instance:GetDebugId

print(workspace:GetDebugId()) --> 39FA_12
print(workspace:GetDebugId(10)) --> 39FA2FEF4D_12
print(workspace:GetDebugId(math.huge)) --> 12

GetDescendants

Paralel yaz

Bu nesne yöntemi, o nesnenin tüm altlarını içeren bir dizi döndürür.Bir nesnenin yalnızca hemen çocuklarını döndüren Instance:GetChildren() ile aksine, bu yöntem nesnenin her çocuğunu, bu çocukların her birini ve öylece bulur.


Dönüşler

İstisnaın soyundan gelen bir dizi. An array containing the durum's descendants.

Kod Örnekleri

GetDescendants is often used to do something to all the descendants that are a particular type of object. The code in this example uses GetDescendants and Instance:IsA() to find all of the parts in the workspace and turns them green.

Instance:GetDescendants

local descendants = workspace:GetDescendants()
-- Loop through all of the descendants of the Workspace. If a
-- BasePart is found, the code changes that parts color to green
for _, descendant in pairs(descendants) do
if descendant:IsA("BasePart") then
descendant.BrickColor = BrickColor.Green()
end
end

GetFullName

Paralel yaz

İstisnaın atasını tanımlayan bir dize döndürür.Dize, nesnenin Name ve atalarının birleşimidir ve noktalarla ayrılmıştır.The DataModel ( game ) dikkate alınmaz.Örneğin, içinde bir geri dönebilir.

Bir Instance üzerinde çağrıldığında, bu işlev aşağıdakiler dahil olmak üzere tüm ataları dikkate alır: DataModel , en üstteki bir tanesi olmadan bir Parent .

Bu işlev kayıt ve depuraj için yararlıdır.Geri döndürülen dizeyi herhangi bir yararlı işlem için parçalamaya çalışmamalısınız; bu işlev nesne isimlerinde noktaları (veya başka bir sembolü) kaçırmaz.Diğer bir deyişle, çıkısı genellikle geçerli bir Luau tanımlayıcı gibi görünse de garanti edilmez.


Dönüşler

Instance 'nin tüm adı.

Kod Örnekleri

This code sample demonstrates the behavior of Instance:GetFullName(). It shows how the function behaves when called on an object not in the DataModel hierarchy, and it also shows how the return value does not escape special characters.

Instance:GetFullName

-- Create a simple hierarchy
local model = Instance.new("Model")
local part = Instance.new("Part")
part.Parent = model
local fire = Instance.new("Fire")
fire.Parent = part
print(fire:GetFullName()) --> Model.Part.Fire
model.Parent = workspace
print(fire:GetFullName()) --> Workspace.Model.Part.Fire
part.Name = "Hello, world"
print(fire:GetFullName()) --> Workspace.Model.Hello, world.Fire

This code sample re-implements the Instance:GetFullName() function in Lua.

Instance:GetFullName Lua Implementation

local function getFullName(object)
local result = object.Name
object = object.Parent
while object and object ~= game do
-- Prepend parent name
result = object.Name .. "." .. result
-- Go up the hierarchy
object = object.Parent
end
return result
end
print(getFullName(workspace.Camera)) --> Workspace.Camera

GetStyled

Variant

Parametreler

name: string
Varsayılan değer: ""

Dönüşler

Variant

GetStyledPropertyChangedSignal

Parametreler

property: string
Varsayılan değer: ""

Dönüşler

GetTags

Paralel yaz

Bu yöntem, verilen durumuygulanan etiketlerin bir diziini içeren bir dize olarak döndürür.Etiketleri Özellikler penceresinde Studio'da veya çalışma sırasında AddTag() ekleyebilirsiniz.

Bu yöntem, bir anda bir örnek üzerinde çok sayıda etiketle bir şey yapmak istediğinizde yararlıdır.Ancak, tek bir etiketin varlığını kontrol etmek için bu yöntemi kullanmak verimsizdir; bunun yerine, belirli bir etiket için HasTag() kontrol etmek kullanın.


Dönüşler

HasTag

Paralel yaz

Bu yöntem, verilen etiket objeye eklendiyse true döndürür.Etiketleri Özellikler penceresinde Studio'da veya çalışma sırasında AddTag() .

Parametreler

tag: string
Varsayılan değer: ""

Dönüşler

IsAncestorOf

Paralel yaz

Bir Instance bir verilen soyundan bir ata ise gerçek döndürür if true döndürür.

Bir Instance bir nesnenin atası olarak kabul edilirse nesnenin Instance.Parent veya ebeveyninden birinin Instance.Parent 'i Instance 'e ayarlanırsa, nesnenin atası olarak kabul edilir.

Ayrıca bakın, Instance:IsDescendantOf() .

Parametreler

descendant: Instance

Soğutucu Instance .

Varsayılan değer: ""

Dönüşler

Eğer Instance verilen soyundan bir ata ise doğrudur.

Kod Örnekleri

Demonstrates determining if one instance is the ancestor of another using Instance:IsAncestorOf()

Workspace and SpawnLocation are ancestors of the SpawnLocation's decal. Workspace is an ancestor of SpawnLocation.

SpawnLocation and its decal are descendants of Workspace, not ancenstors. Decal is a descendant to SpawnLocation, not an ancestor.

Instance:IsAncestorOf()

local Workspace = game:GetService("Workspace")
local spawnLocation = Workspace.SpawnLocation
local decal = spawnLocation.Decal
-- These statements are true
print(Workspace:IsAncestorOf(spawnLocation))
print(Workspace:IsAncestorOf(decal))
print(spawnLocation:IsAncestorOf(decal))
-- These statements are false
print(spawnLocation:IsAncestorOf(Workspace))
print(decal:IsAncestorOf(Workspace))
print(decal:IsAncestorOf(spawnLocation))

IsDescendantOf

Paralel yaz

Bir Instance bir verilen atadan bir soyundan geliyorsa true döndürür.

Bir nesnenin kaldırıldığını kontrol etmek için IsDescendantOf() ile bir nil parametresi kullanılamayacağını unutmayın.

Ayrıca bakın Instance:IsAncestorOf() .

Parametreler

ancestor: Instance

Atası Instance .

Varsayılan değer: ""

Dönüşler

Instance verilen atadan bir soyundan geliyorsa doğrudur.

Kod Örnekleri

Instance:IsDescendantOf

local part = Instance.new("Part")
print(part:IsDescendantOf(game))
--> false
part.Parent = workspace
print(part:IsDescendantOf(game))
--> true
part.Parent = game
print(part:IsDescendantOf(game))
--> true

IsPropertyModified

Belirtilen özellikte depolanan değer varsayılana değilse true döndürür.Örneğin, bir Rotation özelliğinin TextLabel çıkışı 0 gösteriyorsa, etikete IsPropertyModified("Rotation") çağrılması, false çünkü 0 , varsayılan değer TextLabel.Rotation için olduğu için geri dönecektir.

Parametreler

property: string
Varsayılan değer: ""

Dönüşler

Özelliklerin değiştirilip değiştirilmediğini belirten boolean.

RemoveTag

()

Bu yöntem, bir durumbir etiketi kaldırır.Nesne etikete sahip değilse bir hata atmayacaktır.Başarıyla bir etiketi kaldırmak, verilen etiketle oluşturulan bir sinyali ateş edecektir CollectionService:GetInstanceRemovedSignal().

Bir durumetiket atarken, etiketin işlevini vermek için bazı kaynakların kullanıldığı yaygındır, örneğin etkinlik bağlantıları veya tablolar.Hafıza sızıntılarını önlemek için, bunları temizlemek (bağlantı kes, nil olarak ayarla, vb.) bir etiket için artık gerekmediğinde iyi bir fikirdir.

Parametreler

tag: string
Varsayılan değer: ""

Dönüşler

()

ResetPropertyToDefault

()

Bir özelliği varsayılan değerine sıfırlar.Örneğin, ResetPropertyToDefault("Rotation") 'yi bir TextLabel 'a çağırmak, özelliğin Rotation 'ini 0 'a ayarlamaya eşdeğerdir (özelliğin varsayılan değeri).

Parametreler

property: string
Varsayılan değer: ""

Dönüşler

()

SetAttribute

()

Bu yöntem, verilen adla verilen özniteliği verilen değere ayarlar.Verilen değer nil ise, öznitelik öntanımlı olarak döndürüldüğünden öznitelik kaldırılacaktır, çünkü nil öntanımlı olarak döndürülür.

Örneğin, aşağıdaki kod parçacığı, durumInitialPosition özniteliğini Vector3.new(0, 10, 0) olarak ayarlar:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
part:SetAttribute("InitialPosition", Vector3.new(0, 10, 0))
Sınırlar

İsim gereksinimleri ve sınırları:

  • İsimler sadece alfanumerik karakterler ve alt çizgi kullanmalıdır.
  • Boşluklar veya benzersiz semboller izin verilmez.
  • Dize 100 karakterden az veya daha fazla olmalıdır.
  • İsimler, çağrıcı bir Roblox çekirdek kodu olmadığı sürece RBX ile başlatılamaz, (Roblox için ayırılmış).

Bir özniteliği desteklenmeyen bir yazayarlamaya çalışırken bir hata atılacaktır.

Ayrıca bakın
  • Instance:GetAttribute() verilen öznitelik adına atanmış değeri döndüren, ki bu değer verilen öznitelik adına atanmış değerdir.
  • Instance:GetAttributes() , her bir durum özniteliği için bir anahtar değer çiftleri sözlüğü döndüren

Parametreler

attribute: string

Özniteliğin adı ayarlanıyor.

Varsayılan değer: ""
value: Variant

Belirtilen özniteliği ayarlamak için değer.

Varsayılan değer: ""

Dönüşler

()

WaitForChild

Bekletebilir

Verilen adla çocuğunu Instance ile döndürür.Çocuk mevcut değilse, mevcut iş parçasına kadar mevcut iş parçasını verecektir.timeOut parametresi belirtilirse, bu yöntem belirtilen saniye sayısından sonra sona erer ve nil döndürür.

Birincil Kullanım

WaitForChild() , bir LocalScript 'de müşteri tarafından çalıştırılan kod üzerinde çalışırken son derece önemlidir.Roblox motoru, nesnelerin sunucudan müşteriye yeniden yazıldığı süre veya sırayı garanti etmez.Ayrıca, bir deneyimin seti true olarak ayarlanmışsa, oyuncunun karakterinden çok uzakta olan örnekleri, potansiyel olarak klientte mevcut olmayan nesneleri indeksleme sırasında kırılmasına neden olabilir, böylece klientte henüz mevcut olmayan kodlar kırılabilir.

Notlar
  • Bu işlev, çağrı yapıldığında verilen adı taşıyan bir çocuk mevcut olmadığında vermez.
  • Instance:FindFirstChild() varsayılan olarak varsayılan nesneler için WaitForChild() daha verimli bir alternatiftir.
  • Bu yönteme bir çağrı dönmeden 5 saniye aşarsa ve hiçbir timeOut parametresi belirtilmezse, işlemci sonsuza dek üretebileceği çıkıya bir uyarı basılır.

Parametreler

childName: string

Arayılacak Instance.Name .

Varsayılan değer: ""
timeOut: number

Opsiyonel bir süre sınırı parametresi.

Varsayılan değer: ""

Dönüşler

Kod Örnekleri

The following code waits for an instance named "Part" to be added to Workspace.

Instance:WaitForChild

local part = workspace:WaitForChild("Part")
print(part.Name .. " has been added to the Workspace")

Etkinlikler

AncestryChanged

Nesnenin Instance.Parent özelliği veya atalarından biri değiştiğinde ateş eder.

Bu olay iki parametre içerir: gerçekten değiştirilen 'in referansını içerir, while bu durumyeni 'ine işaret eder.

Bu etkinliği kullanarak, Stüdyo'daki bir instansın silinmesini izleyebilirsiniz, örneğin Explorer'da manuel olarak veya bir eklenti aracılığıyla.Bir örnek Instance:Destroy() kullanarak yok edildiğinde tespit etmeniz gerekiyorsa, bunun yerine Instance.Destroying etkinliğini kullanın.

Parametreler

child: Instance

Değiştirilen Instance 'nin Instance.Parent 'si değiştirildi.

parent: Instance

Değiştirilen Instance.Parent ın Instance sahibi yeni Instance.Parent oldu.


Kod Örnekleri

Demonstrates detecting changes to an instance's ancestry by connecting to the Instance.AncestryChanged event.

The ChangingPart's Parent is set to different values overtime. The parent of the part is the part's ancestor, so the Instance.AncestryChanged event will fire whenever it changes.

Instance.AncestryChanged

local Workspace = game:GetService("Workspace")
local redPart = script.Parent.RedPart
local bluePart = script.Parent.BluePart
local changingPart = script.Parent.ChangingPart
-- Change the color of changingPart based on it's Parent
local function onAncestryChanged(part: Part, parent: Instance)
if parent == redPart then
changingPart.Color = Color3.new(1, 0, 0)
elseif parent == bluePart then
changingPart.Color = Color3.new(0, 0, 1)
else
changingPart.Color = Color3.new(1, 1, 1)
end
print(`{part.Name} is now parented to {parent.Name}`)
end
changingPart.AncestryChanged:Connect(onAncestryChanged)
-- Set changingPart's Parent property to different instances over time
while true do
task.wait(2)
changingPart.Parent = redPart
task.wait(2)
changingPart.Parent = bluePart
task.wait(2)
changingPart.Parent = Workspace
end

AttributeChanged

Bu olay, bir özniteliğin durumüzerinde değiştirildiğinde her zaman ateşlenir, bir öznitelik nil olarak ayarlandığında dahil.Değiştirilen özniteliğin adı bağlı işleve geçirilir.

Örneğin, aşağıdaki kod parçası kodu, bir parçanın özelliklerinden herhangi birinin değiştiğinde herhangi bir zamanda attributeChanged() fonksiyonunu ateşlemek için bağlar:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
local function attributeChanged(attributeName)
print(attributeName, "changed")
end
part.AttributeChanged:Connect(attributeChanged)

Ayrıca bakın Instance:GetAttributeChangedSignal() özel bir veri değiştiğinde ateşleyen bir olayı döndüren, belirli bir öznitelik değiştiğinde.

Parametreler

attribute: string

Değiştirilen özniteliğin adı.


ChildAdded

Bir nesne buna ebeveyn atandıktan sonra yangınlar Instance .

Not, bu işlevi sunucu tarafından oluşturulan nesneleri tespit etmek için bir istemci üzerinde kullanırken, bu nesnenin soyundakileri indeksleme sırasında Instance:WaitForChild() kullanmak gereklidir.Bunun nedeni, nesne ve onun soyundakilerinin aynı anda sunucudan müşteriye yeniden yazılmayacağı garantisi verilmediğidir.Örneğin:


local Workspace = game:GetService("Workspace")
Workspace.ChildAdded:Connect(function(child)
-- Use WaitForChild() since descendants may not have replicated yet
local head = child:WaitForChild("Head")
end)

Not, bu işlev yalnızca Instance 'nin acil çocukları için çalışır. Tüm torunları yakalayan bir işlev için Instance.DescendantAdded kullanın.

Ayrıca bakın Instance.ChildRemoved .

Parametreler

child: Instance

Eklenen Instance .


Kod Örnekleri

This snippet prints the names of objects as they are added to the Workspace:

Instance.ChildAdded

local function onChildAdded(instance)
print(instance.Name .. " added to the workspace")
end
workspace.ChildAdded:Connect(onChildAdded)
local part = Instance.new("Part")
part.Parent = workspace --> Part added to the Workspace

ChildRemoved

Bir çocuk bu Instance 'dan kaldırıldıktan sonra yangınlar çıkar.

Kaldırılmış, bir nesnenin ebeveyninin bu Instance 'dan başka bir şeye değiştirildiğini ifade eder Instance.Not, bu etkinlik ayrıca bir çocuk yok edildiğinde de ateşlenecektir (kullanarak Instance:Destroy() ), çünkü yok etme işlevi bir nesnenin ebeveynini nil olarak ayarlar.

Bu işlev yalnızca Instance 'nin acil çocukları için çalışır. Tüm torunları yakalayan bir işlev için Instance.DescendantRemoving kullanın.

Ayrıca bakın Instance.ChildAdded .

Parametreler

child: Instance

Kaldırılan Instance .


Kod Örnekleri

This snippet prints the names of objects as they are removed from the Workspace:

Instance.ChildRemoved

local function onChildRemoved(instance)
print(instance.Name .. " removed from the workspace")
end
workspace.ChildRemoved:Connect(onChildRemoved)
local part = Instance.new("Part")
part.Parent = workspace
task.wait(2)
part:Destroy()

DescendantAdded

Bu olay, bir alt seviye Instance eklendikten sonra ateşlenir.

Her bir torun için ateşlendiğinde, bir nesneyi Instance ebeveynleştirmek, bu nesne ve tüm torunları için ayrı ayrı olayı ateşleyecektir.

Sadece doğrudan çocukları ile ilgileniyorsanız, bunun yerine kullanın.

Ayrıca bakın Instance.DescendantRemoving .

Parametreler

descendant: Instance

Eklenen Instance .


Kod Örnekleri

This following example will print the name of any object that is added to the Workspace:

Instance.DescendantAdded

local function onDescendantAdded(descendant)
print(descendant)
end
workspace.DescendantAdded:Connect(onDescendantAdded)
local part = Instance.new("Part")
part.Parent = workspace

DescendantRemoving

Bu olay, hemen önce ebeveyn Instance değişiklikleri yapılır, böylece bir mirasçı örneği artık bir mirasçı olmayacaktır. bir durumsini değiştirir, bu nedenle ebeveynin bir altında bu yöntemi çağırmak, bu olayın ateşlenmesine neden olacaktır.

Bu olay, soyundaki çıkarmanın öncesinde ateşlenir , bu nedenle soyunun ebeveyni bu olayın ateşlenmesi sırasında değiştirilmez.Eğer torun da ebeveynin doğrudan bir çocuğuysa, bu olay önce ateşlenecektir.

Bir torunun çocukları varsa, bu olay önce torunla birlikte ateşlenir, ardından torunları.

Uyarı

Bu olay, kaldırılan alt nesne ile ateşlenir.Vatandasının Parent'sini başka bir şeye ayarmaya çalışmak başarısız olacaktır.Aşağıda bunu gösteren bir örnek var:


local Workspace = game:GetService("Workspace")
Workspace.DescendantRemoving:Connect(function(descendant)
-- Do not manipulate the parent of the descendant in this function!
-- This event fires BECAUSE the parent was manipulated, and the change hasn't happened yet
-- Therefore, it is problematic to change the parent like this:
descendant.Parent = game
end)
local part = Instance.new("Part")
part.Parent = Workspace
part.Parent = nil

Ayrıca bakın DescendantAdded .

Parametreler

descendant: Instance

Kaldırılan Instance .


Kod Örnekleri

The following example prints the name of any descendant as it is being removed from the Workspace:

Instance.DescendantRemoving

workspace.DescendantRemoving:Connect(function(descendant)
print(descendant.Name .. " is currently parented to " .. tostring(descendant.Parent))
end)
local part = Instance.new("Part")
part.Parent = workspace
part.Parent = nil
--> Part is currently parented to Workspace
print(part.Parent)
--> nil

Destroying

Bağlı bir işlev hala kullanıyorken Instance bellekten asla silinmeyecektir.Ancak, eğer işlev herhangi bir noktada verirse, Instance ve onun soyundakiler ebeveynliğe alınacaktır: nil .

Workspace.SignalBehavior özelliği Enum.SignalBehavior.Immediate olarak ayarlanırsa, bu olay Instance veya bir atasının Instance:Destroy() ile yok edilmesinden hemen önce ateşlenir.

Workspace.SignalBehavior özelliği Enum.SignalBehavior.Deferred olarak ayarlanırsa, bu olay bir sonraki yeniden başlama noktasında ateşlenir, ki bu Instance veya atalarından biri ile Instance:Destroy() yok edilir.

Deferred davranışıyla, bir senaryoyu kendi Instance.Destroying etkinliğine bağlamak sorunludur, çünkü senaryo geri çağrılmadan önce yok edilecektir (yani çalışmayacaktır).

Studio'da bir Instance ı silerken, manuel olarak Gezgini veya bir eklenti aracılığıyla silmek gibi, Instance yok edilmez.Bunun yerine, ebeveyn nil olarak ayarlanır ve bunu Instance.AncestryChanged ile izleyebilirsiniz.


Kod Örnekleri

This sample demonstrates how, when using Immediate signal behavior, an Instance being destroyed remains in place until the connected function yields.

Using the Destroying Event (Immediate signals)

local part = Instance.new("Part", workspace)
local function onPartDestroying()
print("Before yielding:", part:GetFullName(), #part:GetChildren())
task.wait()
print("After yielding:", part:GetFullName(), #part:GetChildren())
end
part.Destroying:Connect(onPartDestroying)
part:Destroy()

This sample demonstrates how, when using Deferred signal behavior, an Instance is destroyed before the signal fires.

Using the Destroying Event (Deferred signals)

local part = Instance.new("Part", workspace)
local function onPartDestroying()
print("In signal:", part:GetFullName(), #part:GetChildren())
end
part.Destroying:Connect(onPartDestroying)
print("Before destroying:", part:GetFullName(), #part:GetChildren())
part:Destroy()
print("After destroying:", part:GetFullName(), #part:GetChildren())

StyledPropertiesChanged