StyleRule
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Definiuje właściwości stylu, które zastępują właściwości na instancjach dotkniętych właściwością Selector.
Podsumowanie
Właściwości
Liczba, która określa, w jaki sposób właściwości StyleRule mają zastosowanie względem tych samych właściwości w innych StyleRules .Wartości priorytetowe wyższe mają pierwszeństwo przed niższymi.
Sznurek określający, które instancje powinny mieć wpływ na StyleRule.
Czytelna struna, która wyświetla błędy z właściwości Selector.
Metody
Zwraca słownik pary klucz-wartość opisujący właściwości StyleRule .
Zwraca wartość określonej właściwości w StyleRule.
Pozwala ci deklarować i ustawiać wiele właściwości StyleRule na raz.
Zwraca arkusz związanych StyleRules .
Wstawia nowy StyleRule do matrycy zasad.
Podobnie do InsertStyleRule() ale pozwala ci deklarować i ustawiać wiele StyleRules naraz.
Zdarzenia
Zdarzenia odziedziczeni z: StyleBaseWypala się, gdy jeden lub więcej StyleRules jest wyraźnie zmieniony na połączonym StyleSheet lub StyleRule.
Właściwości
Priority
Liczba, która określa, w jaki sposób właściwości StyleRule mają zastosowanie względem tych samych właściwości w innych StyleRules .Wartości priorytetowe wyższe mają pierwszeństwo przed niższymi.Na przykład, jeśli z priorytetem ma właściwość z , będzie ona miała pierwszeństwo przed niższą priorytetowością z właściwościami.
Selector
Sznurek określający, które instancje powinny mieć wpływ na StyleRule.Może to być miks selektorów i kombinacji, aby dopasować cechy, takie jak nazwa klasy, nazwa instancji i relacje hierarchiczne.
Na przykład, ".Container > ImageLabel.BlueOnHover:Hover" skutecznie oznacza, że zasada stylu zastępuje każde ImageLabel które jest dzieckiem etykiety oznaczonej Container ( .Container > ImageLabel ) i jest oznaczony BlueOnHover ( .BlueOnHover ) i jest w stanie Enum.GuiState.Hover ( :Hover ).
Selektorzy
<th>Opis</th><th>Przykłady</th></tr></thead><tbody><tr><td><code>[klasa]</code></td><td>Dopasowuje instancje klasy <code>Class.GuiObject</code> lub <code>Class.UIComponent</code> klasy.</td><td><code>"Rama"</code><code>"Przycisk obrazu"</code><code>"Kąt UIC"</code></td></tr><tr><td><code>.[tag]</code></td><td>Dopasowuje instancje <a href="/studio/properties#instance-tags">oznakowane</a> z tagiem <code>Class.CollectionService</code> z tagiem.</td><td><code>".Container"</code><code>".BlueOnHover"</code></td></tr><tr><td><code>#name</code></td><td>Dopasowuje instancje określonej <code>Class.Instance.Name</code> .</td><td><code>„#ModalFrame”</code><code>„#CloseButton”</code></td></tr><tr><td><code>[stan]</code></td><td>Dopasowuje instancje obecnie w <code>Enum.GuiState</code>.</td><td><code>":Przesuwanie"</code></td></tr></tbody>
Wybór |
---|
Kombinatorzy
<th>Opis</th><th>Przykłady</th></tr></thead><tbody><tr><td><code>></code></td><td>Dopasowuje instancje, które są <b>bezpośrednimi dziećmi</b> poprzednich dopasowań filtra.</td><td width="40%"><code>„Rama > .Inventory”</code></td></tr><tr><td><code>>></code></td><td>Dopasowuje instancje, które są <b>potomkami</b> poprzednich dopasowań filtra.</td><td><code>„Przycisk obrazu >> .BlueOnHover”</code></td></tr><tr><td><code>,</code></td><td>Określa listę wielu niezależnych selektorów dla reguły stylu.</td><td><code>„Frame.TagA, TextLabel.TagA”</code></td></tr><tr><td><code>::</code></td><td>Tworzy instancję phantom <code>Class.UIComponent</code> pod poprzednim filtrem i zastosowuje do niej właściwości zasady stylu.</td><td><code>„Frame::UICorner”</code></td></tr></tbody>
Kombinator |
---|
Przykłady kodu
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")
Metody
GetProperties
Zwraca słownik pary klucz-wartość opisujący właściwości StyleRule, na przykład:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Zdobądź odniesienie do zasady stylulocal frameRule = coreSheet.Framelocal props = frameRule:GetProperties()print(props)--[[{["AnchorPoint"] = 0.5, 0,["BackgroundColor3"] = 1, 0, 0.25}]]
Zwroty
Słownik par klucz-wartość opisujący właściwości StyleRule .
GetProperty
Zwraca wartość określonej właściwości w StyleRule.
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Zdobądź odniesienie do zasady stylulocal frameRule = coreSheet.Framelocal prop = frameRule:GetProperty("AnchorPoint")print(prop) --> 0.5, 0
Parametry
Nazwa ciągu właściwości, na przykład "AnchorPoint" lub "BackgroundColor3".
Zwroty
Wartość właściwości.
SetProperties
Podobnie do SetProperty() ale pozwala na deklarowanie i ustawianie wielu właściwości StyleRule naraz.Każde zadanie powinno być ważną właściwością dotkniętego GuiObject lub UIComponent ( UICorner , UIGradient , itp.), a każda przypisana wartość powinna odpowiadać typowi wartości przypisanej właściwości, na przykład Vector2 dla AnchorPoint lub Color3 dla BackgroundColor3.
Próby przypisania nieprawidłowych nazw właściwości, takich jak "AnchorPt" lub "BkColor", nie powiodą się cicho.Typowe niezgodności, takie jak CFrame dla AnchorPoint lub UDim2 dla BackgroundColor3 również zawiodą i pojawi się błąd w oknie Wyjście.
Aby skonfigurować/aktualizować tylko jedną właściwość StyleRule , zobacz SetProperty() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Zdobądź odniesienie do zasady stylulocal frameRule = coreSheet.Frame-- Ustaw właściwości zasadyframeRule:SetProperties({["AnchorPoint"] = Vector2.new(0.5, 0),["BackgroundColor3"] = Color3.new(1, 0, 0.25)})
Zauważ, że możesz przypisać tokeny jako wartości właściwości za pomocą prefiksu $:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Ustaw żetony (atraktywy) na karcie żetonówtokensSheet:SetAttribute("TopCenterAnchor", Vector2.new(0.5, 0))tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Zdobądź odniesienie do zasady stylulocal frameRule = coreSheet.Frame-- Ustaw właściwości zasadyframeRule:SetProperties({["AnchorPoint"] = "$TopCenterAnchor",["BackgroundColor3"] = "$MainBackgroundColor"})
Parametry
Słownik par klucz-wartość definiujący właściwości do ustawienia.
Zwroty
SetProperty
Ustawia nową właściwość (lub modyfikuje istniejącą właściwość) dla StyleRule.Parametr name powinien być ważną właściwością dotkniętego GuiObject lub UIComponent ( UICorner , UIGradient , itp.), a przypisana wartość powinna odpowiadać typowi wartości właściwości, na przykład Vector2 dla AnchorPoint lub Color3 dla BackgroundColor3.
Próby przypisania nieprawidłowych nazw właściwości, takich jak "AnchorPt" lub "BkColor", nie powiodą się cicho.Typowe niezgodności, takie jak CFrame dla AnchorPoint lub UDim2 dla BackgroundColor3 również zawiodą i pojawi się błąd w oknie Wyjście.
Aby ustawić wiele właściwości dla StyleRule na raz, zobacz SetProperties() .
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")-- Zdobądź odniesienie do zasady stylulocal frameRule = coreSheet.Frame-- Ustaw właściwość regułyframeRule:SetProperty("BackgroundColor3", Color3.new(1, 0, 0.25))
Zauważ, że możesz przypisać tokeny jako wartości właściwości za pomocą prefiksu $:
local ReplicatedStorage = game:GetService("ReplicatedStorage")local coreSheet = ReplicatedStorage:FindFirstChild("CoreSheet")local tokensSheet = ReplicatedStorage:FindFirstChild("Tokens")-- Ustaw nowy token (atrybut) na liście tokenówtokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))-- Zdobądź odniesienie do zasady stylulocal frameRule = coreSheet.Frame-- Ustaw właściwość zasady, aby używać żeton jako jego wartośćframeRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")
Parametry
Nazwa właściwości do ustawienia, na przykład "BackgroundColor3".
Wartość właściwości do ustawienia, na przykład Color3.new(1, 0, 0.25) .