StyleRule
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Define propiedades de estilo que anulan las propiedades en las instancias afectadas por la propiedad Selector.
Resumen
Propiedades
Un número que determina cómo se aplican las propiedades de la StyleRule en relación con las mismas propiedades en otras StyleRules.Los valores de prioridad más altos tienen precedencia sobre los más bajos.
Una cadena que especifica qué instancias debe afectar el StyleRule .
Una cadena de solo lectura que muestra errores de la propiedad Selector.
Métodos
Devuelve un diccionario de pares de clave-valor que describen las propiedades del StyleRule.
Devuelve el valor de una propiedad específica en el StyleRule.
Le permite declarar y configurar múltiples propiedades del StyleRule a la vez.
Devuelve un array de asociados StyleRules .
Inserta un nuevo StyleRule en el array de reglas.
Similar a InsertStyleRule() pero te permite declarar y configurar múltiples StyleRules a la vez.
Eventos
Eventos heredados de StyleBaseSe incendia cuando uno o más StyleRules se cambia explícitamente en el conectado StyleSheet o StyleRule .
Propiedades
Priority
Un número que determina cómo se aplican las propiedades de la StyleRule en relación con las mismas propiedades en otras StyleRules.Los valores de prioridad más altos tienen precedencia sobre los más bajos.Por ejemplo, si un con una prioridad de tiene una propiedad de , tendrá prioridad sobre un de menor prioridad con propiedades.
Selector
Una cadena que especifica qué instancias debe afectar el StyleRule .Esto puede ser una mezcla de selectores y combinadores para coincidir con características como el nombre de clase, el nombre de instancia y las relaciones de jerarquía.
Por ejemplo, ".Container > ImageLabel.BlueOnHover:Hover" efectivamente significa que la regla de estilo reemplaza cada ImageLabel que es un hijo de una etiqueta marcada con Container ( .Container > ImageLabel ) y está etiquetado con BlueOnHover ( .BlueOnHover ) y está en el estado Enum.GuiState.Hover ( :Hover ).
Selectoras
<th>Descripción</th><th>Ejemplos</th></tr></thead><tbody><tr><td><code>[clase]</code></td><td>Coincide con instancias de una clase <code>Class.GuiObject</code> o <code>Class.UIComponent</code> de clase.</td><td><code>"Marco"</code><code>"Botón de imagen"</code><code>"Esquina UIC"</code></td></tr><tr><td><code>.[tag]</code></td><td>Coincide instancias <a href="/studio/properties#instance-tags">etiquetadas</a> con una etiqueta <code>Class.CollectionService</code>.</td><td><code>".Container"</code><code>".BlueOnHover"</code></td></tr><tr><td><code>#name</code></td><td>Coincide con instancias de una clase específica <code>Class.Instance.Name</code>.</td><td><code>"#ModalFrame"</code><code>"#CerrarBotón"</code></td></tr><tr><td><code>::[estado]</code></td><td>Coincide con instancias actualmente en un <code>Enum.GuiState</code>.</td><td><code>":Hover"</code></td></tr></tbody>
Selector |
---|
Combinadores
<th>Descripción</th><th>Ejemplos</th></tr></thead><tbody><tr><td><code>></code></td><td>Coincide con instancias que son <b>hijos directos</b> de las coincidencias de filtro anteriores.</td><td width="40%"><code>“Marco > .Inventario”</code></td></tr><tr><td><code>>></code></td><td>Coincide con instancias que son <b>descendientes</b> de las coincidencias del filtro anterior.</td><td><code>“Botón de imagen >> .BlueOnHover”</code></td></tr><tr><td><code>,</code></td><td>Specifica una lista de múltiples seleccionadores independientes para la regla de estilo.</td><td><code>“Frame.TagA, TextLabel.TagA”</code></td></tr><tr><td><code>::</code></td><td>Crea una instancia de <code>Clase.UIComponent</code> fantasma bajo los filtros anteriores y aplica las propiedades de la regla de estilo a ella.</td><td><code>“Marco::UICorner”</code></td></tr></tbody>
Combinador |
---|
Muestras 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
Devuelve un diccionario de pares clave-valor que describen las propiedades del StyleRule, por ejemplo:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtener referencia a la regla de estilolocal frameRule = coreSheet.Framelocal props = frameRule:GetProperties()print(props)--[[{["AnchorPoint"] = 0.5, 0,["BackgroundColor3"] = 1, 0, 0.25}]]
Devuelve
Diccionario de pares de clave-valor que describen las propiedades del StyleRule .
GetProperty
Devuelve el valor de una propiedad específica en el StyleRule.
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtener referencia a la regla de estilolocal frameRule = coreSheet.Framelocal prop = frameRule:GetProperty("AnchorPoint")print(prop) --> 0.5, 0
Parámetros
Nombre de cadena de la propiedad, por ejemplo "AnchorPoint" o "BackgroundColor3" .
Devuelve
Valor de la propiedad.
SetProperties
Similar a SetProperty() pero te permite declarar y configurar múltiples propiedades del StyleRule a la vez.Cada asignación debe ser una propiedad válida del afectado GuiObject o UIComponent ( UICorner , UIGradient , etc.), y cada valor asignado debe coincidir con el tipo de valor de su propiedad, por ejemplo Vector2 para AnchorPoint o Color3 para BackgroundColor3 .
Los intentos de asignar nombres de propiedad inválidos como "AnchorPt" o "BkColor" fallarán silenciosamente.Los tipos de coincidencias incorrectas como CFrame por AnchorPoint o UDim2 por BackgroundColor3 también fallarán y aparecerá un error en la ventana Salida.
Para establecer/actualizar solo una propiedad de un StyleRule, vea SetProperty() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtener referencia a la regla de estilolocal frameRule = coreSheet.Frame-- Establecer propiedades de reglaframeRule:SetProperties({["AnchorPoint"] = Vector2.new(0.5, 0),["BackgroundColor3"] = Color3.new(1, 0, 0.25)})
Tenga en cuenta que puede asignar tokens como valores de propiedad a través del prefijo $:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Establecer tokens (atributos) en la hoja de tokenstokensSheet:SetAttribute("TopCenterAnchor", Vector2.new(0.5, 0))tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Obtener referencia a la regla de estilolocal frameRule = coreSheet.Frame-- Establecer propiedades de reglaframeRule:SetProperties({["AnchorPoint"] = "$TopCenterAnchor",["BackgroundColor3"] = "$MainBackgroundColor"})
Parámetros
Diccionario de pares clave-valor que definen las propiedades para establecer.
Devuelve
SetProperty
Establece una nueva propiedad (o modifica una propiedad existente) para el StyleRule .El parámetro name debe ser una propiedad válida del afectado GuiObject o UIComponent ( UICorner , UIGradient , etc.), y el valor asignado debe coincidir con el tipo de valor de la propiedad, por ejemplo Vector2 para AnchorPoint o Color3 para BackgroundColor3.
Los intentos de asignar nombres de propiedad inválidos como "AnchorPt" o "BkColor" fallarán silenciosamente.Los tipos de coincidencias incorrectas como CFrame por AnchorPoint o UDim2 por BackgroundColor3 también fallarán y aparecerá un error en la ventana Salida.
Para establecer múltiples propiedades para un StyleRule a la vez, vea SetProperties() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtener referencia a la regla de estilolocal frameRule = coreSheet.Frame-- Establecer la propiedad de reglaframeRule:SetProperty("BackgroundColor3", Color3.new(1, 0, 0.25))
Tenga en cuenta que puede asignar tokens como valores de propiedad a través del prefijo $:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Establecer nuevo token (atributo) en la hoja de tokenstokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Obtener referencia a la regla de estilolocal frameRule = coreSheet.Frame-- Establecer la propiedad de regla para usar la ficha como su valorframeRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")
Parámetros
Nombre de propiedad para establecer, por ejemplo "BackgroundColor3" .
Valor de propiedad para establecer, por ejemplo Color3.new(1, 0, 0.25) .