StyleRule
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Définit des propriétés de style qui remplacent les propriétés sur les instances affectées par la propriété Selector.
Résumé
Propriétés
Un nombre qui détermine comment les propriétés du StyleRule s'appliquent par rapport aux mêmes propriétés dans un autre StyleRules .Les valeurs de priorité plus élevées ont la priorité sur les plus basses.
Une chaîne spécifiant les instances auxquelles le StyleRule devrait affecter.
Une chaîne de lecture seule qui affiche les erreurs de la propriété Selector.
Méthodes
Renvoie un dictionnaire de paires clé-valeur décrivant les propriétés du StyleRule.
Renvoie la valeur d'une propriété spécifique dans le StyleRule.
Vous permet de déclarer et de définir plusieurs propriétés du StyleRule à la fois.
Renvoie un ensemble d'associés StyleRules .
Insère une nouvelle StyleRule dans l'ensemble des règles.
Semblable à InsertStyleRule() mais vous permet de déclarer et de définir plusieurs StyleRules à la fois.
Évènements
Évènements hérités de StyleBaseS'enflamme lorsque l'un ou plusieurs StyleRules est explicitement modifié sur le connecté StyleSheet ou StyleRule .
Propriétés
Priority
Un nombre qui détermine comment les propriétés du StyleRule s'appliquent par rapport aux mêmes propriétés dans un autre StyleRules .Les valeurs de priorité plus élevées ont la priorité sur les plus basses.Par exemple, si un avec une priorité de a une propriété de , il aura la priorité sur un de plus bas niveau avec des propriétés.
Selector
Une chaîne spécifiant les instances auxquelles le StyleRule devrait affecter.Cela peut être un mélange de sélecteurs et de combinateurs pour correspondre aux caractéristiques telles que le nom de classe, le nom d'instance et les relations hiérarchiques.
Par exemple, ".Container > ImageLabel.BlueOnHover:Hover" efficacement signifie que la règle de style remplace chaque ImageLabel qui est un enfant d'une instance étiquée avec Container ( .Container > ImageLabel ) et est étiqueté avec BlueOnHover ( .BlueOnHover ) et est dans l'état Enum.GuiState.Hover ( :Hover ).
Sélecteurs
<th>Avertissement</th><th>Exemples</th></tr></thead><tbody><tr><td><code>[classe]</code></td><td>Correspond aux instances d'une classe <code>Class.GuiObject</code> ou <code>Class.UIComponent</code> de classe.</td><td><code>"Cadre"</code><code>"Bouton d'image"</code><code>"Coin UIC"</code></td></tr><tr><td><code>.[tag]</code></td><td>Correspond aux instances <a href="/studio/properties#instance-tags">étiquetées</a> avec une balise <code>Class.CollectionService</code>.</td><td><code>".Container"</code><code>".BlueOnHover"</code></td></tr><tr><td><code>#name</code></td><td>Correspond aux instances d'une classe spécifique <code>Class.Instance.Name</code>.</td><td><code>#1</code><code>#2</code></td></tr><tr><td><code>[état]</code></td><td>Correspond aux instances actuellement dans un <code>Enum.GuiState</code>.</td><td><code>":S'approcher"</code></td></tr></tbody>
Sélectionneur |
---|
Combinateurs
<th>Avertissement</th><th>Exemples</th></tr></thead><tbody><tr><td><code>></code></td><td>Correspond aux instances qui sont <b>enfants directs</b> du filtre précédent.</td><td width="40%"><code>« Cadre > .Inventory »</code></td></tr><tr><td><code>>></code></td><td>Correspond aux instances qui sont <b>descendantes</b> des matchs de filtre précédents.</td><td><code>« ImageButton >> .BlueOnHover »</code></td></tr><tr><td><code>,</code></td><td>Spécifie une liste de plusieurs sélecteurs indépendants pour la règle de style.</td><td><code>« Frame.TagA, TextLabel.TagA »</code></td></tr><tr><td><code>::</code></td><td>Crée une instance de classe phantom <code>Class.UIComponent</code> sous les correspondances du filtre précédent et applique les propriétés de la règle de style à elle.</td><td><code>« Frame::UICorner »</code></td></tr></tbody>
Combinateur |
---|
Échantillons de code
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éthodes
GetProperties
Renvoie un dictionnaire de paires clé-valeur décrivant les propriétés du StyleRule, par exemple :
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenir une référence à la règle de stylelocal frameRule = coreSheet.Framelocal props = frameRule:GetProperties()print(props)--[[{["AnchorPoint"] = 0.5, 0,["BackgroundColor3"] = 1, 0, 0.25}]]
Retours
Dictionnaire de paires clé-valeur décrivant les propriétés du StyleRule.
GetProperty
Renvoie la valeur d'une propriété spécifique dans le StyleRule.
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenir une référence à la règle de stylelocal frameRule = coreSheet.Framelocal prop = frameRule:GetProperty("AnchorPoint")print(prop) --> 0.5, 0
Paramètres
Nom de la propriété, par exemple "AnchorPoint" ou "BackgroundColor3".
Retours
Valeur de la propriété.
SetProperties
Semblable à SetProperty() mais vous permet de déclarer et de définir plusieurs propriétés du StyleRule à la fois.Chaque affectation doit être une propriété valide de la partie affectée GuiObject ou UIComponent ( UICorner , UIGradient , etc.), et chaque valeur affectée doit correspondre au type de valeur de sa propriété, par exemple Vector2 pour AnchorPoint ou Color3 pour BackgroundColor3.
Les tentatives d'attribution de noms de propriété non valides tels que "AnchorPt" ou "BkColor" échoueront silencieusement.Les correspondances de type telles que CFrame pour AnchorPoint ou UDim2 pour BackgroundColor3 échoueront également et une erreur apparaîtra dans la fenêtre Sortie.
Pour définir/mettre à jour une seule propriété d'un StyleRule, voir SetProperty() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenir une référence à la règle de stylelocal frameRule = coreSheet.Frame-- Définir les propriétés de règlesframeRule:SetProperties({["AnchorPoint"] = Vector2.new(0.5, 0),["BackgroundColor3"] = Color3.new(1, 0, 0.25)})
Notez que vous pouvez attribuer jetons en tant que valeurs de propriété via le préfixe $ :
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Définir des jetons (attributs) sur la feuille de jetonstokensSheet:SetAttribute("TopCenterAnchor", Vector2.new(0.5, 0))tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Obtenir une référence à la règle de stylelocal frameRule = coreSheet.Frame-- Définir les propriétés de règlesframeRule:SetProperties({["AnchorPoint"] = "$TopCenterAnchor",["BackgroundColor3"] = "$MainBackgroundColor"})
Paramètres
Dictionnaire de paires clé-valeur définissant les propriétés à définir.
Retours
SetProperty
Définir une nouvelle propriété (ou modifier une propriété existante) pour le StyleRule.Le paramètre name doit être une propriété valide de la partie affectée GuiObject ou UIComponent ( UICorner , UIGradient , etc.), et la valeur attribuée doit correspondre au type de valeur de la propriété, par exemple Vector2 pour AnchorPoint ou Color3 pour BackgroundColor3.
Les tentatives d'attribution de noms de propriété non valides tels que "AnchorPt" ou "BkColor" échoueront silencieusement.Les correspondances de type telles que CFrame pour AnchorPoint ou UDim2 pour BackgroundColor3 échoueront également et une erreur apparaîtra dans la fenêtre Sortie.
Pour définir plusieurs propriétés pour un StyleRule à la fois, voir SetProperties() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Obtenir une référence à la règle de stylelocal frameRule = coreSheet.Frame-- Définir la propriété de règleframeRule:SetProperty("BackgroundColor3", Color3.new(1, 0, 0.25))
Notez que vous pouvez attribuer jetons en tant que valeurs de propriété via le préfixe $ :
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Définir un nouveau jeton (attribut) sur la feuille de jetonstokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Obtenir une référence à la règle de stylelocal frameRule = coreSheet.Frame-- Définir la propriété de règle pour utiliser le jeton comme sa valeurframeRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")
Paramètres
Nom de propriété à définir, par exemple "BackgroundColor3" .
Valeur de propriété à définir, par exemple Color3.new(1, 0, 0.25) .