StyleRule

Pokaż przestarzałe

*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

  • Odczyt równoległy

    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.

  • Odczyt równoległy

    Sznurek określający, które instancje powinny mieć wpływ na StyleRule.

  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy

    Czytelna struna, która wyświetla błędy z właściwości Selector.

Metody

Metody odziedziczeni z: StyleBase

Zdarzenia

Zdarzenia odziedziczeni z: StyleBase

Właściwości

Priority

Odczyt równoległy

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

Odczyt równoległy

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.

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

Tylko do odczytu
Bez replikacji
Odczyt równoległy

Czytelna struna, która wyświetla błędy z właściwości Selector takie jak błędy składni, nieobsługiwane typy klas itp.

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

Variant

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

Parametry

name: string

Nazwa ciągu właściwości, na przykład "AnchorPoint" lub "BackgroundColor3".

Wartość domyślna: ""

Zwroty

Variant

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 stylu
local frameRule = coreSheet.Frame
-- Ustaw właściwości zasady
frameRule: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ów
tokensSheet:SetAttribute("TopCenterAnchor", Vector2.new(0.5, 0))
tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))
-- Zdobądź odniesienie do zasady stylu
local frameRule = coreSheet.Frame
-- Ustaw właściwości zasady
frameRule:SetProperties({
["AnchorPoint"] = "$TopCenterAnchor",
["BackgroundColor3"] = "$MainBackgroundColor"
})

Parametry

styleProperties: Dictionary

Słownik par klucz-wartość definiujący właściwości do ustawienia.

Wartość domyślna: ""

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 stylu
local frameRule = coreSheet.Frame
-- Ustaw właściwość reguły
frameRule: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ów
tokensSheet:SetAttribute("MainBackgroundColor", Color3.new(0.2, 0.2, 0.3))
-- Zdobądź odniesienie do zasady stylu
local frameRule = coreSheet.Frame
-- Ustaw właściwość zasady, aby używać żeton jako jego wartość
frameRule:SetProperty("BackgroundColor3, "$MainBackgroundColor")

Parametry

name: string

Nazwa właściwości do ustawienia, na przykład "BackgroundColor3".

Wartość domyślna: ""
value: Variant

Wartość właściwości do ustawienia, na przykład Color3.new(1, 0, 0.25) .

Wartość domyślna: ""

Zwroty

()

Zdarzenia