Instance
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
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
Bir Instance ve onun soyundakilerin Instance:Clone() kullanarak klonlanıp kaydedilebileceğini veya yayınlanabileceğini belirler.
Bu kapsayıcının içinde kullanılabilecek yeteneklerin seti.
Eşsiz olmayan bir tanımlayıcı Instance .
Instance 'nin hiyerarşik ebeveynini belirler.
CoreGui nesnelerini korumak için kullanılan eski bir özellik.
Instansı bir kumlanmış kutu olarak dönüştürür.
İstisna için benzersiz bir tanımlayıcı.
Yöntemler
Etiketi instansa uygular.
Bu işlev, bir instanstan tüm çocukları yok eder.
Bir örneğin ve tüm altlarının bir kopyasını oluştur ve Archivable olmayan örnekleri görmezden gel.
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.
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.
Verilen sınıfa eşit olan Instance 'in ilk atasını döndürür Object.ClassName .
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 verilen sınıf için.
Verdiğiniz adla bulunan ilk çocuğu döndürür Instance ile bulunan çocuk.
Verilen sınıf adına eşit olan Instance ın ilk çocuğunu döndürür ClassName .
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.
Verdiği Instance.Name ile bulunan ilk soyundan geri döner.
Eğer varsa, İstisna ile ilişkili Actor döndürür.
Verilen öznitelik adına atanmış olan değeri döndürür.
Verilen öznitelik değiştiğinde ateşleyen bir olay döndürür.
Instanstan özniteliklerin bir sözlüğünü döndürür.
Tüm örnek çocuklarını içeren bir dizi döndürür.
Roblox tarafından içeride kullanılan depurasyon kimliğinin kodlanmış bir dizesini döndürür.
İstisna durumunun tüm soyundan gelen bir dizi içeren bir dizi döndürür.
İstisnaın atasını tanımlayan bir dize döndürür.
Belirtilen özellikteki stilize veya açıkça değiştirilmiş değeri döndürür veya stilize/değiştirilmediyse varsayılan özellik değeri.
İstisnaya uygulanan tüm etiketlerin bir dizi alınır.
İstisna sahibi bir etikete sahip olup olmadığını kontrol edin.
Bir Instance bir verilen soyundan bir ata ise gerçek döndürür if true döndürür.
Bir Instance bir verilen atadan bir soyundan geliyorsa true döndürür.
Belirtilen özellikte depolanan değer kodla oluşturulan varsayımla eşitse true döndürür ifade edilir.Returns if the value stored in the specified property is equal to the code-instantiated default.
Bir etiketi instansdan kaldırır.
Bir özelliği varsayılan değerine sıfırlar.
Verdiği isimle özelliği verilen değere ayarlar.
Verilen adla çocuğu Instance ile döndürür. Eğer çocuk mevcut değilse, bunu yapana kadar mevcut iş parçasını verecektir.
Olaylar
Nesnenin Instance.Parent özelliği veya atalarından biri değiştiğinde ateş eder.
Bir özellik Instance üzerinde değiştirildiğinde her zaman ateş eder.
Bir nesne buna ebeveyn atandıktan sonra yangınlar Instance .
Bir çocuk bu Instance 'dan kaldırıldıktan sonra yangınlar çıkar.
Bir soyundan sonra aşağıya eklenir Instance .
Bir çocuğun Instance çıkarılmasından hemen önce yangınlar çıkar.
Durum hemen önce (veya daha sonra) yok edilene kadar (veya ertelenir) örnek yok edildiğinde hemen yangınlar çıkar Instance:Destroy() .
Bir özellik nil olarak ayarlanmış olsa bile, istisna dışında herhangi bir stil özelliği değiştiğinde herhangi bir durumda ateş eder.
Özellikler
Yöntemler
ClearAllChildren
Dönüşler
Clone
Dönüşler
Kod Örnekleri
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
Dönüşler
Kod Örnekleri
local part = script.Parent.Part
part:Destroy()
FindFirstChild
Parametreler
Dönüşler
Kod Örnekleri
local found = workspace:FindFirstChild("Brick")
if found then
found.Name = "Foo"
end
FindFirstChildOfClass
Parametreler
Dönüşler
Kod Örnekleri
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
Parametreler
Dönüşler
GetAttributeChangedSignal
Parametreler
Dönüşler
GetChildren
Dönüşler
Kod Örnekleri
local children = workspace:GetChildren()
for i = 1, #children do
print(i, children[i].Name)
end
GetDebugId
Parametreler
Dönüşler
Kod Örnekleri
print(workspace:GetDebugId()) --> 39FA_12
print(workspace:GetDebugId(10)) --> 39FA2FEF4D_12
print(workspace:GetDebugId(math.huge)) --> 12
GetDescendants
Dönüşler
Kod Örnekleri
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
Dönüşler
Kod Örnekleri
-- 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
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
GetStyledPropertyChangedSignal
Parametreler
Dönüşler
IsAncestorOf
Parametreler
Dönüşler
Kod Örnekleri
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
Parametreler
Dönüşler
Kod Örnekleri
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
SetAttribute
Parametreler
Dönüşler
Olaylar
AncestryChanged
Parametreler
Kod Örnekleri
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
ChildAdded
Parametreler
Kod Örnekleri
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
Parametreler
Kod Örnekleri
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
Parametreler
Kod Örnekleri
local function onDescendantAdded(descendant)
print(descendant)
end
workspace.DescendantAdded:Connect(onDescendantAdded)
local part = Instance.new("Part")
part.Parent = workspace
DescendantRemoving
Parametreler
Kod Örnekleri
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
Kod Örnekleri
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()
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())