Instance
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Instance est la classe de base pour toutes les classes dans la hiérarchie de classe Roblox qui peuvent faire partie de l'arbre DataModel.
Il n'est pas possible de créer directement des objets racine Instance , mais le constructeur spécial Instance.new() crée des objets via du code, en prenant le nom de la classe en paramètre et en retournant l'objet créé.
Résumé
Propriétés
Détermine si un Instance et ses descendants peuvent être clonés à l'aide de Instance:Clone() et s'ils peuvent être sauvegardés/publiés.
Le jeu de capacités pouvant être utilisé pour les scripts à l'intérieur de ce conteneur.
Un identifiant non unique du Instance .
Détermine le parent hiérarchique du Instance .
Une propriété obsolète qui protégeait autrefois les objets CoreGui.
Transforme l'instance en conteneur sandboxé.
Un identifiant unique pour l'instance.
Méthodes
Applique une balise à l'instance.
Cette fonction détruit tous les enfants d'une instance.
Créer une copie d'une instance et de tous ses descendants, en ignorant les instances qui ne sont pas Archivable .
Définit la propriété Instance.Parent à nil, verrouille la propriété Instance.Parent et déconnecte toutes les connexions, puis appelle Destroy() sur tous les enfants.
Renvoie le premier ancêtre du Instance dont le Instance.Name est égal au nom donné.
Renvoie le premier ancêtre du Instance dont le Object.ClassName est égal à la classe donnée.
Retourne le premier ancêtre du Instance pour lequel Object:IsA() renvoie vrai pour la classe donnée.
Renvoie le premier enfant du Instance trouvé avec le nom donné.
Retourne le premier enfant du Instance dont le ClassName est égal au nom de classe donné.
Retourne le premier enfant du Instance pour lequel Object:IsA() renvoie vrai pour la classe donnée.
Renvoie le premier descendant trouvé avec le donné Instance.Name .
Retourne le Actor associé à l'instance, si nécessaire.
Renvoie la valeur qui a été attribuée au nom d'attribut donné.
Renvoie un événement qui se déclenche lorsque l'attribut donné change.
Renvoie un dictionnaire des attributs de l'instance.
Renvoie un tableau contenant tous les enfants de l'instance.
Renvoie une chaîne codée de l'ID de débogage utilisé internement par Roblox.
Renvoie un tableau contenant tous les descendants de l'instance.
Renvoie une chaîne décrivant l'ascendance de l'instance.
Renvoie la valeur stylée ou explicitement modifiée de la propriété spécifiée, ou la valeur de propriété par défaut si elle n'a pas été stylée/modifiée.
Obtient une liste de toutes les balises appliquées à l'instance.
Vérifiez si l'instance a une balise donnée.
Renvoie vrai si un Instance est un ancêtre du descendant donné.
Renvoie true si un Instance est un descendant de l'ancêtre donné.
Renvoie true si la valeur stockée dans la propriété spécifiée est égale au code instantané par défaut.
Supprime une balise de l'instance.
Réinitialise une propriété à sa valeur par défaut.
Définit l'attribut avec le nom donné à la valeur donnée.
Retourne l'enfant du Instance avec le nom donné. S'il n'existe pas, il produira le thread actuel jusqu'à ce qu'il le fasse.
Événements
S'enflamme lorsque la propriété Instance.Parent de l'objet ou l'une de ses ancêtres est modifiée.
S'enflamme chaque fois qu'un attribut est modifié sur le Instance.
Feux après qu'un objet soit parenté à ceci Instance .
Feux après qu'un enfant a été retiré de ce Instance .
Feux après qu'un descendant ait été ajouté à la Instance.
S'enflamme immédiatement avant que le descendant du Instance soit supprimé.
Il se déclenche immédiatement avant (ou est reporté jusqu'à ce que) l'instance soit détruite via Instance:Destroy() .
Il se déclenche chaque fois que toute propriété de style est modifiée sur l'instance, y compris lorsqu'une propriété est définie sur nil .
Propriétés
Méthodes
ClearAllChildren
Retours
Clone
Retours
Échantillons de code
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
Retours
Échantillons de code
local part = script.Parent.Part
part:Destroy()
FindFirstChild
Paramètres
Retours
Échantillons de code
local found = workspace:FindFirstChild("Brick")
if found then
found.Name = "Foo"
end
FindFirstChildOfClass
Paramètres
Retours
Échantillons de code
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
Paramètres
Retours
GetAttributeChangedSignal
Paramètres
Retours
GetChildren
Retours
Échantillons de code
local children = workspace:GetChildren()
for i = 1, #children do
print(i, children[i].Name)
end
GetDebugId
Paramètres
Retours
Échantillons de code
print(workspace:GetDebugId()) --> 39FA_12
print(workspace:GetDebugId(10)) --> 39FA2FEF4D_12
print(workspace:GetDebugId(math.huge)) --> 12
GetDescendants
Retours
Échantillons de code
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
Retours
Échantillons de code
-- 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
Paramètres
Retours
IsAncestorOf
Paramètres
Retours
Échantillons de code
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
Paramètres
Retours
Échantillons de code
local part = Instance.new("Part")
print(part:IsDescendantOf(game))
--> faux
part.Parent = workspace
print(part:IsDescendantOf(game))
--> vrai
part.Parent = game
print(part:IsDescendantOf(game))
--> true
SetAttribute
Paramètres
Retours
Événements
AncestryChanged
Paramètres
Échantillons de code
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
Paramètres
Échantillons de code
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
Paramètres
Échantillons de code
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
Paramètres
Échantillons de code
local function onDescendantAdded(descendant)
print(descendant)
end
workspace.DescendantAdded:Connect(onDescendantAdded)
local part = Instance.new("Part")
part.Parent = workspace
DescendantRemoving
Paramètres
Échantillons de code
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
Échantillons de code
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())