Selection
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
O serviço de seleção controla o Instances que são selecionados no Roblox Studio.
Este serviço é particularmente útil ao desenvolver Plugins, pois permite que o desenvolvedor acesse e manipule a seleção atual.
Atualmente selecionado Instances pode ser obtido e definido usando as funções Selection:Get() e Selection:Set().O evento Selection.SelectionChanged ocorre sempre que a seleção atual muda.
Para mais informações sobre o uso de Selection e Plugins, veja Plugin.
A seleção também é frequentemente usada na barra de comando, para definir propriedades ocultas ou executar funções para selecionados Instances .
Observe que essa classe só se aplica ao Roblox Studio e não tem aplicabilidade a jogos.
Amostras de código
The following code sample, when used in a plugin or the command bar, will rotate currently selected BaseParts.
local Selection = game:GetService("Selection")
for _, object in pairs(Selection:Get()) do
if object:IsA("BasePart") then
object.CFrame = object.CFrame * CFrame.Angles(0, math.pi / 2, 0)
end
end
Resumo
Propriedades
Métodos
Eventos
Incêndios quando o Instances selecionado em alterações do Roblox Studio muda.
Propriedades
SelectionThickness
Métodos
Add
Parâmetros
Devolução
Get
Retorna um array de atualmente selecionado Instances em Roblox Studio.
Se nenhum Instances for selecionado, o array retornado será vazio.Essa função pode ser usada em conjunto com o evento Selection.SelectionChanged para obter a seleção sempre que ele muda.
Observe, essa função só pode ser usada em Plugins ou na linha de comando.
Para alterar a seleção atual, consulte Selection:Set() .
Devolução
Um conjunto de atualmente selecionado Instances .
Amostras de código
The following code sample, when used in a plugin or the command bar, will rotate currently selected BaseParts.
local Selection = game:GetService("Selection")
for _, object in pairs(Selection:Get()) do
if object:IsA("BasePart") then
object.CFrame = object.CFrame * CFrame.Angles(0, math.pi / 2, 0)
end
end
This example prints the number of selected items whenever SelectionChanged is fired:
local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)
Remove
Parâmetros
Devolução
Set
Define os objetos atualmente selecionados no Roblox Studio para Instances na matriz / listadada.
Chamar essa função fará com que o evento Selection.SelectionChanged Iniciar / executar, a menos que o novo conjunto de seleção seja idêntico à seleção anterior.
Observe que essa função substitui a seleção existente. No entanto, usar Selection:Get() um Instance pode ser adicionado à seleção existente como assim:
local selected = Selection:Get()table.insert(selected, object)Selection:Set(selected)
Parâmetros
Um array de Instances para definir a seleção atual.
Devolução
Amostras de código
This code sample will select every BasePart in the workspace that is Bright red.
local Selection = game:GetService("Selection")
local newSelection = {}
for _, object in pairs(workspace:GetDescendants()) do
if object:IsA("BasePart") and object.BrickColor == BrickColor.new("Bright red") then
table.insert(newSelection, object)
end
end
Selection:Set(newSelection)
Eventos
SelectionChanged
Incêndios quando o Instances selecionado em alterações do Roblox Studio muda.
Observe que este evento não dá a nova seleção. Os desenvolvedores precisarão usar a função Selection:Get() para obter a seleção atual.
Embora este evento possa ser usado fora de plugins e da barra de comando, ele só se aplica à seleção no Roblox Studio e, portanto, não tem funcionalidade fora do Studio.
Para alterar a seleção, use a função Selection:Set().
Amostras de código
This example prints the number of selected items whenever SelectionChanged is fired:
local selection = game:GetService("Selection")
selection.SelectionChanged:Connect(function()
print("Selection contains " .. #selection:Get() .. " items.")
end)