Trình chỉnh sửa Kiểu tích hợp sẵn là một công cụ toàn diện cho phép bạn tạo, quản lý và áp dụng kiểu UI cho các trò chơi Roblox thông qua sự kết hợp của các mã thông báo, bảng thiết kế, quy tắc kiểu, và chủ đề.
Truy cập Trình chỉnh sửa kiểu thông qua tab UI.

Khi mở, nhấp vào nút Tạo thiết kế để tạo một bộ kiểu cơ bản.

Các mã thông báo kiểu
Các mã thông báo kiểu, được định nghĩa thông qua các thuộc tính của một StyleSheet, đại diện cho các biến thuộc tính UI có thể được sử dụng trong toàn bộ các kiểu và thành phần; ví dụ, có thể có một màu chung cho Frame.BackgroundColor3, TextLabel.TextColor3, và UIStroke.Color. Các mã thông báo có thể so sánh với các biến CSS.
Tạo một bảng mã thông báo mới:
- Trong cột bên trái của Trình chỉnh sửa kiểu, di chuột qua Tokens, nhấp vào ⊕, và chọn New Token StyleSheet.
- Đổi tên bảng mới thành TokenSheet.

Với bảng mã thông báo mới được chọn, tạo một số mã thông báo bằng cách nhấp vào Add a Token… trong bảng điều khiển chính. Những mã thông báo này sẽ được sử dụng trong toàn bộ hướng dẫn này cho cả quy tắc và chủ đề.

Tên mã thông báo Loại Giá trị Gold Color3 #ffcc00 Magenta Color3 #ff0099 Orange Color3 #dd6030 Oswald Font Oswald Rad20 UDim 0, 20 RectL UDim2 0, 300, 0, 160 SquareL UDim2 0, 200, 0, 200 Text24 số 24 Text32 số 32 
Bảng thiết kế
Một bảng thiết kế kiểu kết hợp quy tắc kiểu và có thể được liên kết với các cây DataModel để áp dụng các thuộc tính kiểu cho các phiên bản UI. Chỉ có một StyleSheet có thể áp dụng cho một cây nhất định, mặc dù bạn có thể sử dụng chủ đề để hoán đổi các kiểu liên quan giữa UI của bạn, một khái niệm sẽ được đề cập sau trong hướng dẫn này.
Một bảng thiết kế được tự động điền tên là StyleSheet được tạo ra thông qua nút Create Design. Nó chứa các quy tắc lớp cho các đối tượng UI phổ biến như Frame và TextLabel. Nó cũng chứa hai thể hiện StyleDerive mà lấy (kế thừa) các mã thông báo và kiểu từ bảng kiểu cơ bản để sử dụng trong các cấu hình kiểu tùy chỉnh của bạn.

Khi bạn đã có một bảng thiết kế, bạn có thể thiết lập một khung hiển thị trên màn hình để sử dụng với Trình chỉnh sửa kiểu, hoặc một khung trải nghiệm trong nếu muốn.
Di chuột qua StarterGui trong Explorer và chèn một ScreenGui.
Xác nhận rằng một thể hiện mới StyleLink xuất hiện dưới ScreenGui với thuộc tính StyleSheet của nó được đặt thành bảng thiết kế StyleSheet.


Quy tắc kiểu
Các quy tắc kiểu áp dụng cho mọi thể hiện phù hợp với định nghĩa Selector của quy tắc để khớp với các đặc điểm như tên lớp, thẻ phiên bản, và quan hệ phân cấp. Ở cấp độ cao, việc điều chỉnh và thay đổi thông qua định nghĩa Selector của quy tắc hoạt động thông qua:
- Các lựa chọn lớp của Roblox nhắm đến tất cả các thể hiện của một lớp UI nhất định, chẳng hạn như Frame, ImageLabel, TextButton, v.v.
- Các bộ điều chỉnh thể hiện được áp dụng thông qua các cái gọi là UIComponents như UICorner hoặc UIStroke.
- Các lựa chọn trạng thái của GuiObject tương ứng với một trong bốn giá trị enum Enum.GuiState như Hover.
- Chọn tên phiên bản theo giá trị của Instance.Name của đối tượng UI.
Quy tắc lớp
Một lựa chọn lớp kiểu nhắm đến tất cả các thể hiện của một lớp UI nhất định. Cài đặt quy tắc sau đây định hình tất cả các Frames với một màu nền và kích thước đồng nhất.
Trong cột bên trái của Trình chỉnh sửa kiểu, chọn Frame trong nhánh UI Elements.

Liên kết hai mã thông báo kiểu đã tạo trước đó với hai thuộc tính của Frame:
Thuộc tính Mã thông báo kiểu BackgroundColor3 $Magenta Size $SquareL - Nhấp vào Add a Property… trong bảng điều khiển chính và chọn thuộc tính cần thiết. Lưu ý rằng bạn có thể gõ từ khóa để tìm kiếm thuộc tính trong menu thả xuống nhanh hơn.
- Thay vì nhập một giá trị tĩnh, nhấp vào nút ⋮ và chọn Link Token.
- Nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo liên kết thích hợp.


Chèn một Frame mới vào ScreenGui mà bạn đã tạo và liên kết. Các kiểu bạn định nghĩa sẽ tự động áp dụng cho nó.

Quy tắc thẻ
Các lựa chọn thẻ thể hiện nhắm đến các đối tượng UI cụ thể được gán thẻ thông qua CollectionService. Cài đặt quy tắc sau đây định hình một TextButton được gán thẻ là ButtonPrimary với một màu nền tùy chỉnh, phông chữ, và kích thước văn bản.
Trong cột bên trái của Trình chỉnh sửa kiểu, di chuột qua bảng StyleSheet, nhấp vào nút ⋮, và điều hướng đến New ⟩ Tag.

Đổi tên quy tắc thẻ mới thành .ButtonPrimary (lưu ý dấu . ở đầu).

Liên kết ba mã thông báo kiểu đã tạo trước đó với ba thuộc tính của TextButton:
Thuộc tính Mã thông báo kiểu BackgroundColor3 $Gold FontFace $Oswald TextSize $Text32 - Nhấp vào Add a Property… trong bảng điều khiển chính và chọn thuộc tính cần thiết. Nhớ rằng bạn có thể gõ từ khóa để tìm kiếm thuộc tính trong menu thả xuống nhanh hơn.
- Thay vì nhập một giá trị tĩnh, nhấp vào nút ⋮ và chọn Link Token.
- Nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo liên kết phù hợp.


Chèn một TextButton mới vào ScreenGui mà bạn đã tạo và liên kết và gán thẻ cho nó là ButtonPrimary. Một phím tắt thuận tiện như sau:
- Đảm bảo TextButton mới được chọn trong Explorer.
- Với quy tắc thẻ .ButtonPrimary được chọn trong cột bên trái của Trình chỉnh sửa kiểu, nhấp vào Apply Tag trong bảng điều khiển chính. Các kiểu bạn đã định nghĩa sẽ tự động áp dụng cho nút.


Bộ điều chỉnh UI
Các lựa chọn bộ điều chỉnh thể hiện áp dụng các UIComponents như UICorner hoặc UIStroke để định hình thêm một đối tượng. Cài đặt quy tắc sau đây định hình một TextLabel với một kích thước văn bản tùy chỉnh và góc bo tròn.
Trong cột bên trái của Trình chỉnh sửa kiểu, chọn TextLabel trong nhánh UI Elements.

Liên kết một mã thông báo kiểu đã tạo trước đó với thuộc tính TextSize:
- Nhấp vào Add a Property… trong bảng điều khiển chính và chọn thuộc tính TextSize. Nhớ rằng bạn có thể gõ từ khóa để tìm kiếm thuộc tính trong menu thả xuống nhanh hơn.
- Thay vì nhập một giá trị tĩnh, nhấp vào nút ⋮ và chọn Link Token.
- Nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo $Text32.


Một thể hiện giả là cần thiết để cấu hình và áp dụng góc bo tròn cho các phần tử khác. Để tạo một:
Trong cột bên trái, di chuột qua TextLabel, nhấp vào nút ⋮, và điều hướng đến New ⟩ Pseudo Instance ⟩ UICorner.

Một thể hiện giả UICorner mới xuất hiện dưới phần tử TextLabel trong cột bên trái.

Với thể hiện UICorner mới được chọn trong cột bên trái, liên kết một mã thông báo kiểu đã tạo trước đó với thuộc tính CornerRadius:
- Nhấp vào Add a Property… trong bảng điều khiển chính và chọn thuộc tính CornerRadius.
- Thay vì nhập một giá trị tĩnh, nhấp vào nút ⋮ và chọn Link Token.
- Nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo $Rad20.

Chèn một TextLabel mới vào ScreenGui mà bạn đã tạo và liên kết. Các kiểu bạn đã định nghĩa sẽ tự động áp dụng cho nó.

Quy tắc trạng thái
Các lựa chọn trạng thái Class.GuiObject tương ứng với một trong bốn giá trị enum GuiState như Hover, cho phép bạn tự động cấu hình các thay đổi kiểu cho các trạng thái tương tác. Cài đặt quy tắc sau đây tạo ra một trạng thái hover với độ xoay -4 độ cho tất cả các ImageButtons.
Trong cột bên trái của Trình chỉnh sửa kiểu, chọn ImageButton trong nhánh UI Elements.

Nhấp vào nút ⋮ và điều hướng đến New ⟩ GuiState ⟩ Hover.

Một thể hiện bộ điều chỉnh mới Hover xuất hiện dưới phần tử ImageButton trong cột bên trái.

Với bộ điều chỉnh mới Hover được chọn trong cột bên trái, nhấp vào Add a Property… trong bảng điều khiển chính và chọn Rotation. Nhớ rằng bạn có thể gõ từ khóa để tìm kiếm thuộc tính trong menu thả xuống nhanh hơn.
Nhập -4 vào trường giá trị của thuộc tính.

Chèn một ImageButton mới vào ScreenGui mà bạn đã tạo và liên kết. Khi bạn di chuột qua nút trong vùng xem, nó sẽ xoay 4 độ ngược chiều kim đồng hồ.

Truy vấn kiểu
Các truy vấn kiểu, tương tự như các truy vấn container và media CSS, cho phép bạn áp dụng logic điều kiện cho UI của bạn dựa trên kích thước container, loại đầu vào hoặc các yếu tố khác. Trình chỉnh sửa kiểu cung cấp một quy trình làm việc đơn giản để tạo cả logic truy vấn (các điều kiện) và các kiểu kết quả dưới dạng một tập hợp thống nhất.
Các truy vấn tích hợp sẵn
Một số điều kiện StyleQuery là rất phổ biến, chẳng hạn như thay đổi các thuộc tính dựa trên ViewportDisplaySize. Để đơn giản hóa điều này, Trình chỉnh sửa kiểu bao gồm các truy vấn tích hợp sẵn cho phép bạn tạo các quy tắc điều kiện mà không cần một thể hiện giả hoặc thật của một StyleQuery; thay vào đó, bạn chỉ cần sử dụng một quy tắc truy vấn với một lựa chọn được định nghĩa trước như ViewportDisplaySizeSmall.
Các bước sau đây minh họa cách tạo các truy vấn tích hợp sẵn cho một TextLabel để xử lý các kích thước viewport Small, Medium, và Large.
Trong cột bên trái của Trình chỉnh sửa kiểu, di chuột qua TextLabel, nhấp vào nút ⋮, và điều hướng đến New ⟩ StyleQuery ⟩ Builtin ⟩ ViewportDisplaySize.

Điều này tạo ra một thư mục Queries dưới quy tắc TextLabel chứa ba quy tắc truy vấn:
- @ViewportDisplaySizeLarge — Định nghĩa các thuộc tính áp dụng khi viewport là Large.
- @ViewportDisplaySizeMedium — Định nghĩa các thuộc tính áp dụng khi viewport là Medium.
- @ViewportDisplaySizeSmall — Định nghĩa các thuộc tính áp dụng khi viewport là Small.

Để xác minh các truy vấn, sử dụng Giả lập thiết bị để kiểm tra cách UI phản ứng với các độ phân giải khác nhau trên ba thiết bị khác nhau:
Thay đổi Thiết bị trong Giả lập thiết bị để thấy văn bản thay đổi theo thời gian thực.
Truy vấn tùy chỉnh
Bạn có thể thêm một truy vấn kiểu vào bất kỳ quy tắc nào hiện có để tạo ra UI phản hồi tự động thích ứng với container của nó. Cài đặt sau đây cấu hình một TextLabel để tự động thay đổi ngoại hình của nó chỉ khi nó mở rộng đến chiều rộng 400 pixel hoặc hơn.
Trong cột bên trái của Trình chỉnh sửa kiểu, di chuột qua TextLabel, nhấp vào nút ⋮, và điều hướng đến New ⟩ StyleQuery ⟩ Custom.

Hành động này tạo ra một thư mục Queries dưới quy tắc TextLabel chứa hai mục liên kết:
- ::StyleQuery quy tắc thể hiện giả nơi bạn định nghĩa Điều kiện.
- @StyleQuery quy tắc nơi bạn định nghĩa các Thuộc tính sẽ được áp dụng khi các điều kiện đó được đáp ứng.

Chọn quy tắc TextLabel cha trong bảng điều khiển chính và định nghĩa các thuộc tính mặc định sau đây:
Thuộc tính Giá trị BackgroundColor3 $Magenta Text Default Text Chọn quy tắc ::StyleQuery trong bảng điều khiển chính, nhấp vào Add a Condition…, và cấu hình như sau:
Điều kiện Giá trị MinSize 400, 0 Chọn quy tắc @StyleQuery trong bảng điều khiển chính và thiết lập các thuộc tính sẽ áp dụng khi truy vấn đang hoạt động:
Thuộc tính Giá trị BackgroundColor3 $Gold Text Large Text
Để xác minh truy vấn, bạn có thể thay đổi kích thước một TextLabel trong vùng xem.
Điều chỉnh chiều rộng của nó để thấy kiểu thay đổi theo thời gian thực.
Khi chiều rộng của TextLabel nhỏ hơn, điều kiện MinSize không được đáp ứng và nhãn sử dụng màu nền và văn bản mặc định của nó.

Chuyển đổi kiểu
Các chuyển đổi kiểu, tương tự như các chuyển đổi CSS, cho phép bạn tween các giá trị thuộc tính trong một khoảng thời gian nhất định.
Mặc định
Để tween nhiều thuộc tính UI với cùng một tham số, bạn có thể thiết lập một chuyển đổi mặc định áp dụng cho tất cả các thuộc tính trừ khi một chuyển đổi khác được đặt rõ ràng cho một thuộc tính cụ thể.
Chọn TextButton trong nhánh UI Elements và sau đó, trong bảng điều khiển chính, thêm ba thuộc tính mới với các giá trị sau:
Thuộc tính Giá trị AutoButtonColor false BackgroundColor3 #335FFF Rotation 0 
Di chuột qua dòng TextButton cha, nhấp vào nút ⋮, và điều hướng đến New ⟩ GuiState ⟩ Hover.

Đối với bộ điều chỉnh mới Hover, thêm hai thuộc tính mới làm đích cho trạng thái hover.
Thuộc tính Giá trị BackgroundColor3 #33AAFF Rotation -5 
Chèn một TextButton mới vào ScreenGui mà bạn đã tạo và liên kết. Khi bạn di chuột qua nút trong vùng xem, nó sẽ từ từ sáng lên và xoay 5 độ ngược chiều kim đồng hồ.

Liên kết mã thông báo
Để tái sử dụng hành vi chuyển đổi giữa nhiều quy tắc, bạn có thể định nghĩa các mã thông báo đại diện cho loại dữ liệu TweenInfo. Cài đặt quy tắc sau đây tạo ra một trạng thái hover để chuyển đổi tất cả các TextButtons đến/từ độ xoay -5 độ và một màu nền sáng hơn.
Nếu bạn chưa làm, hãy tạo một bảng mã thông báo với tên TokenSheet.

Với bảng mã thông báo mới được chọn, tạo hai mã thông báo mới bằng cách nhấp vào Add a Token… trong bảng điều khiển chính.
Tên mã thông báo Loại Tham số Tween CubicOut TweenInfo - Duration = 1.25
- EasingStyle = Cubic
- EasingDirection = Out
- Delay = 0
QuadInOut TweenInfo - Duration = 0.5
- EasingStyle = Quad
- EasingDirection = InOut
- Delay = 0

Chọn TextButton trong nhánh UI Elements và sau đó, trong bảng điều khiển chính, thêm ba thuộc tính mới với các giá trị sau:
Thuộc tính Giá trị AutoButtonColor false BackgroundColor3 #335FFF Rotation 0 
Đối với mỗi thuộc tính mới trừ AutoButtonColor, di chuột qua dòng của nó, nhấp vào nút ⋮, và chọn Insert ⟩ Transition.

Di chuột qua hàng Transition mới bên dưới mỗi thuộc tính, nhấp vào nút ⋮, và chọn Link Token. Sau đó, thay vì nhập một giá trị tĩnh, nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo chuyển đổi phù hợp.

Thuộc tính chuyển đổi Mã thông báo chuyển đổi BackgroundColor3 $CubicOut Size $QuadInOut 
Di chuột qua dòng TextButton cha, nhấp vào nút ⋮, và điều hướng đến New ⟩ GuiState ⟩ Hover.

Đối với bộ điều chỉnh mới Hover, thêm hai thuộc tính mới làm đích cho trạng thái hover.
Thuộc tính Giá trị BackgroundColor3 #33AAFF Rotation -5 
Chèn một TextButton mới vào ScreenGui mà bạn đã tạo và liên kết. Khi bạn di chuột qua nút trong vùng xem, nó sẽ từ từ sáng lên và xoay 5 độ ngược chiều kim đồng hồ.

Chủ đề kiểu
Các chủ đề kiểu bao gồm các bộ mã thông báo cụ thể có thể được hoán đổi, chẳng hạn như các mã thông báo màu xác định một chủ đề "sáng" và "tối".
Tạo chủ đề
Để mở rộng, các chủ đề được tổ chức thành các thư mục. Mặc dù một thư mục duy nhất có thể đủ cho hầu hết các mục đích, bạn hoàn toàn có thể tổ chức các chủ đề trong các thư mục như "màu sắc" hoặc "phông chữ" nếu muốn.
Tạo một thư mục chủ đề mới:
- Trong cột bên trái của Trình chỉnh sửa kiểu, di chuột qua Themes, nhấp vào ⊕, và chọn New Theme.
- Đổi tên mục Folder mới thành General.

Tạo một bảng kiểu chủ đề mới:
- Di chuột qua thư mục General mới, nhấp vào nút ⋮, và chọn New Theme StyleSheet.
- Đổi tên nó thành ThemeA.

Các mã thông báo chủ đề
Khi một chủ đề được xây dựng, bạn có thể liên kết các mã thông báo của nó đến các thuộc tính của các đối tượng UI khác nhau như BackgroundColor3 của một TextButton. Các bảng chủ đề phải sử dụng một bộ mã thông báo chung để hoạt động chính xác.
Với ThemeA được chọn trong cột bên trái của Trình chỉnh sửa kiểu:
Liên kết ba mã thông báo kiểu đã tạo trước đó với ba mã thông báo chủ đề mới:
Mã thông báo chủ đề Mã thông báo kiểu BackColor $Gold ButtonFont $Oswald ButtonTextSize $Text32 - Nhấp vào Add a Token… trong bảng điều khiển chính và nhập tên mã thông báo chủ đề.
- Nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo kiểu liên kết.

Trong cột bên trái của Trình chỉnh sửa kiểu, chọn TextButton trong nhánh UI Elements.

Liên kết các mã thông báo của chủ đề với ba thuộc tính mới của TextButton:
Thuộc tính Mã thông báo chủ đề BackgroundColor3 $BackColor FontFace $ButtonFont TextSize $ButtonTextSize - Nhấp vào Add a Property… trong bảng điều khiển chính và chọn thuộc tính cần thiết.
- Thay vì nhập một giá trị tĩnh, nhấp vào nút ⋮ và chọn Link Token.
- Nhấp vào $ xuất hiện trong trường giá trị và chọn mã thông báo chủ đề phù hợp.


Nhân bản chủ đề
Khi bạn đã thiết lập một chủ đề, bạn có thể nhân bản nó và thay đổi các mã thông báo khác nhau để xác định một phong cách chủ đề độc đáo.
Trong cột bên trái của Trình chỉnh sửa kiểu, di chuột qua chủ đề ThemeA, nhấp vào nút ⋮, và chọn Duplicate.
Đổi tên chủ đề đã nhân bản thành ThemeB.

Liên kết hai mã thông báo của chủ đề với hai mã thông báo kiểu khác nhau:
Mã thông báo chủ đề Mã thông báo kiểu BackColor $Magenta ButtonTextSize $Text24 - Bên phải trường giá trị của thuộc tính, nhấp vào nút ⋮ và chọn Unlink Token.
- Nhấp vào ⋮ một lần nữa và chọn Link Token.
- Trong trường giá trị của nó, nhấp vào $ và chọn mã thông báo kiểu liên kết mới.

Hoán đổi chủ đề
Khi bạn đã có nhiều chủ đề, bạn có thể hoán đổi giữa chúng thông qua thư mục của chủ đề, hoặc thông qua một tập lệnh như đã được mô tả trong SetDerives().
Trong cột bên trái của Trình chỉnh sửa kiểu, chọn thư mục General trong nhánh Themes.
Trong bảng điều khiển chính, hoán đổi giữa các chủ đề bằng cách sử dụng các nút radio.



