StyleRule
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Define propriedades de estilo que substituem propriedades nas instâncias afetadas pela propriedade Selector .
Resumo
Propriedades
Um número que determina como as propriedades do StyleRule se aplicam em relação às mesmas propriedades em outro StyleRules .Os valores de prioridade mais altos têm precedência sobre os mais baixos.
Uma string que especifica quais instâncias o StyleRule deve afetar.
Uma string de leitura somente que exibe erros da propriedade Selector.
Métodos
Retorna um dicionário de pares de chave-valor que descrevem as propriedades do StyleRule.
Retorna o valor de uma propriedade específica no StyleRule.
Permite que você declare e defina várias propriedades do StyleRule de uma só vez.
Retorna um array de associados StyleRules .
Insere um novo StyleRule dentro do conjunto de regras.
Semelhante a InsertStyleRule() mas permite que você declare e defina vários StyleRules de uma só vez.
Eventos
Eventos herdados de StyleBaseIncêndios quando um ou mais StyleRules é explicitamente alterado no conectado StyleSheet ou StyleRule.
Propriedades
Priority
Um número que determina como as propriedades do StyleRule se aplicam em relação às mesmas propriedades em outro StyleRules .Os valores de prioridade mais altos têm precedência sobre os mais baixos.Por exemplo, se um StyleRule com prioridade de 10 tiver uma propriedade AnchorPoint de
Selector
Uma string que especifica quais instâncias o StyleRule deve afetar.Isso pode ser uma mistura de seletores e combinadores para combinar características como o nome da classe, o nome da instância e as relações de hierarquia.
Por exemplo, ".Container > ImageLabel.BlueOnHover:Hover" efetivamente significa que a regra de estilo substitui a cada ImageLabel que é filho de uma instância rotulada com Container ( .Container > ImageLabel ) e está rotulada com BlueOnHover ( .BlueOnHover ) e está no estado Enum.GuiState.Hover ( :Hover ).
Seletores
<th>Descrição</th><th>Exemplos</th></tr></thead><tbody><tr><td><code>[ classe ]</code></td><td>Coincide com instâncias de uma classe <code>Class.GuiObject</code> ou <code>Class.UIComponent</code> classe.</td><td><code>"Quadro"</code><code>"Botão de Imagem"</code><code>"Canto UIC"</code></td></tr><tr><td><code>.[tag]</code></td><td>Coincide com instâncias rotuladas com uma etiqueta Class.CollectionService .</td><td><code>".Container"</code><code>".BlueOnHover"</code></td></tr><tr><td><code>#[ nome ]</code></td><td>Coincide com instâncias de uma classe específica <code>Class.Instance.Name</code>.</td><td><code>"#ModalFrame"</code><code>"#FecharBotão"</code></td></tr><tr><td><code>[estado]:[ estado ]</code></td><td>Coincide com instâncias atualmente em um <code>Enum.GuiState</code>.</td><td><code>":Passe o mouse"</code></td></tr></tbody>
Seletor |
---|
Combinadores
<th>Descrição</th><th>Exemplos</th></tr></thead><tbody><tr><td><code>></code></td><td>Coincide com instâncias que são <b>filhos diretos</b> da filtragem anterior.</td><td width="40%"><code>“Armação > .Inventário”</code></td></tr><tr><td><code>>></code></td><td>Coincide com instâncias que são <b>descendentes</b> das combinações de filtro anteriores.</td><td><code>“Botão de Imagem >> .BlueOnHover”</code></td></tr><tr><td><code>,</code></td><td>Especifica uma lista de vários seletores independentes para a regra de estilo.</td><td><code>“Frame.TagA, TextLabel.TagA”</code></td></tr><tr><td><code>::</code></td><td>Cria uma instância fantasma <code>Class.UIComponent</code> sob as partidas do filtro anterior e aplica as propriedades da regra de estilo a ela.</td><td><code>“Armação::UICorner”</code></td></tr></tbody>
Combinador |
---|
Amostras de código
The following example shows how to define a class selector which targets all TextButton instances and styles them with blue background and light grey text. To test, paste the code into a LocalScript which is a child of a ScreenGui located inside the StarterGui container.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = script.Parent
local coreSheet = Instance.new("StyleSheet")
coreSheet.Parent = ReplicatedStorage
local styleLink = Instance.new("StyleLink")
styleLink.StyleSheet = coreSheet
styleLink.Parent = screenGui
local rule = Instance.new("StyleRule")
rule.Parent = coreSheet
-- Class selector
rule.Selector = "TextButton"
-- Set rule properties
rule:SetProperties({
["BackgroundColor3"] = Color3.fromHex("335FFF"),
["TextColor3"] = Color3.fromHex("E1E1E1"),
["Size"] = UDim2.new(0.15, 0, 0, 40),
["BorderSizePixel"] = 0
})
local button = Instance.new("TextButton")
button.Text = "Main Menu"
button.Parent = screenGui
The following example shows how to define a tag selector which utilizes tags applied through CollectionService to target a TextButton tagged with ButtonPrimary. To test, paste the code into a LocalScript which is a child of a ScreenGui located inside the StarterGui container.
local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = script.Parent
local coreSheet = Instance.new("StyleSheet")
coreSheet.Parent = ReplicatedStorage
local styleLink = Instance.new("StyleLink")
styleLink.StyleSheet = coreSheet
styleLink.Parent = screenGui
local rule = Instance.new("StyleRule")
rule.Parent = coreSheet
-- Tag selector
rule.Selector = ".ButtonPrimary"
-- Set rule properties
rule:SetProperties({
["BackgroundColor3"] = Color3.fromHex("FF0099"),
["TextColor3"] = Color3.fromHex("E1E1E1"),
["Size"] = UDim2.new(0.15, 0, 0, 40),
["BorderSizePixel"] = 0
})
local button = Instance.new("TextButton")
button.Text = "Main Menu"
button.Parent = screenGui
-- Apply tag to button
CollectionService:AddTag(button, "ButtonPrimary")
The following example shows how to define a UI modifier selector which applies a phantom UICorner instance to a Frame tagged with RoundedCorner20. To test, paste the code into a LocalScript which is a child of a ScreenGui located inside the StarterGui container.
local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = script.Parent
local coreSheet = Instance.new("StyleSheet")
coreSheet.Parent = ReplicatedStorage
local styleLink = Instance.new("StyleLink")
styleLink.StyleSheet = coreSheet
styleLink.Parent = screenGui
local rule = Instance.new("StyleRule")
rule.Parent = coreSheet
-- UI component selector
rule.Selector = "Frame.RoundedCorner20::UICorner"
-- Set rule property
rule:SetProperty("CornerRadius", UDim.new(0, 20))
-- Create frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0.4, 0, 0.2, 0)
frame.Parent = screenGui
-- Apply tag to frame
CollectionService:AddTag(frame, "RoundedCorner20")
Métodos
GetProperties
Retorna um dicionário de pares de chave-valor que descrevem as propriedades do StyleRule, por exemplo:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenha referência à regra de estilolocal frameRule = coreSheet.Framelocal props = frameRule:GetProperties()print(props)--[[{["AnchorPoint"] = 0.5, 0,["BackgroundColor3"] = 1, 0, 0.25}]]
Devolução
Dicionário de pares de chave-valor que descrevem as propriedades do StyleRule.
GetProperty
Retorna o valor de uma propriedade específica no StyleRule.
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenha referência à regra de estilolocal frameRule = coreSheet.Framelocal prop = frameRule:GetProperty("AnchorPoint")print(prop) --> 0.5, 0
Parâmetros
Nome da string da propriedade, por exemplo "AnchorPoint" ou "BackgroundColor3".
Devolução
Valor da propriedade.
SetProperties
Semelhante a SetProperty() mas permite que você declare e defina várias propriedades do StyleRule de uma só vez.Cada atribuição deve ser uma propriedade válida do afetado GuiObject ou UIComponent ( UICorner , UIGradient , etc.), e cada valor atribuído deve corresponder ao tipo de valor da propriedade, por exemplo Vector2 para AnchorPoint ou Color3 para BackgroundColor3.
Tentativas de atribuir nomes de propriedade inválidos, como "AnchorPt" ou "BkColor", falharão silenciosamente.Tipos de correspondências erradas, como CFrame para AnchorPoint ou UDim2 para BackgroundColor3 também falharão e um erro aparecerá na janela Saída.
Para definir/atualizar apenas uma propriedade de um StyleRule, veja SetProperty().
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenha referência à regra de estilolocal frameRule = coreSheet.Frame-- Definir propriedades de regraframeRule:SetProperties({["AnchorPoint"] = Vector2.new(0.5, 0),["BackgroundColor3"] = Color3.new(1, 0, 0.25)})
Observe que você pode atribuir tokens como valores de propriedade através do prefixo $:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Defina tokens (atributos) na folha de tokenstokensSheet:SetAttribute("TopCenterAnchor", Vector2.new(0.5, 0))tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Obtenha referência à regra de estilolocal frameRule = coreSheet.Frame-- Definir propriedades de regraframeRule:SetProperties({["AnchorPoint"] = "$TopCenterAnchor",["BackgroundColor3"] = "$MainBackgroundColor"})
Parâmetros
Dicionário de pares de chave-valor que definem as propriedades a definir.
Devolução
SetProperty
Define uma nova propriedade (ou modifica uma propriedade existente) para o StyleRule.O parâmetro name deve ser uma propriedade válida do afetado GuiObject ou UIComponent ( UICorner , UIGradient , etc.), e o valor atribuído deve corresponder ao tipo de valor da propriedade, por exemplo Vector2 para AnchorPoint ou Color3 para BackgroundColor3.
Tentativas de atribuir nomes de propriedade inválidos, como "AnchorPt" ou "BkColor", falharão silenciosamente.Tipos de correspondências erradas, como CFrame para AnchorPoint ou UDim2 para BackgroundColor3 também falharão e um erro aparecerá na janela Saída.
Para definir várias propriedades para um StyleRule de uma vez, veja SetProperties() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenha referência à regra de estilolocal frameRule = coreSheet.Frame-- Definir propriedade de regraframeRule:SetProperty("BackgroundColor3", Color3.new(1, 0, 0.25))
Observe que você pode atribuir tokens como valores de propriedade através do prefixo $:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Defina um novo token (atributo) na folha de tokenstokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Obtenha referência à regra de estilolocal frameRule = coreSheet.Frame-- Defina a propriedade da regra para usar o token como seu valorframeRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")
Parâmetros
Nome da propriedade para definir, por exemplo "BackgroundColor3" .
Valor de propriedade para definir, por exemplo Color3.new(1, 0, 0.25) .