StyleRule

Afficher les obsolètes

*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

  • Lecture parallèle

    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.

  • Lecture parallèle

    Une chaîne spécifiant les instances auxquelles le StyleRule devrait affecter.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Une chaîne de lecture seule qui affiche les erreurs de la propriété Selector.

Méthodes

Méthodes hérités de StyleBase

Évènements

Évènements hérités de StyleBase

Propriétés

Priority

Lecture parallèle

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

Lecture parallèle

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.

UI Class Selector

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.

UI Tag Selector

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.

UI Modifier Selector

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")

SelectorError

Lecture uniquement
Non répliqué
Lecture parallèle

Une chaîne de lecture seule qui affiche des erreurs de la propriété Selector telles que des erreurs de syntaxe, des classes non prises en charge, etc.

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 style
local frameRule = coreSheet.Frame
local 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

Variant

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 style
local frameRule = coreSheet.Frame
local prop = frameRule:GetProperty("AnchorPoint")
print(prop) --> 0.5, 0

Paramètres

name: string

Nom de la propriété, par exemple "AnchorPoint" ou "BackgroundColor3".

Valeur par défaut : ""

Retours

Variant

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 style
local frameRule = coreSheet.Frame
-- Définir les propriétés de règles
frameRule: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 jetons
tokensSheet: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 style
local frameRule = coreSheet.Frame
-- Définir les propriétés de règles
frameRule:SetProperties({
["AnchorPoint"] = "$TopCenterAnchor",
["BackgroundColor3"] = "$MainBackgroundColor"
})

Paramètres

styleProperties: Dictionary

Dictionnaire de paires clé-valeur définissant les propriétés à définir.

Valeur par défaut : ""

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 style
local frameRule = coreSheet.Frame
-- Définir la propriété de règle
frameRule: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 jetons
tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))
-- Obtenir une référence à la règle de style
local frameRule = coreSheet.Frame
-- Définir la propriété de règle pour utiliser le jeton comme sa valeur
frameRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")

Paramètres

name: string

Nom de propriété à définir, par exemple "BackgroundColor3" .

Valeur par défaut : ""
value: Variant

Valeur de propriété à définir, par exemple Color3.new(1, 0, 0.25) .

Valeur par défaut : ""

Retours

()

Évènements