gohud

Ba lớp

← Theme

Một preset gói cả ba. Những trường bạn để trống sẽ lùi về giá trị mặc định.

LớpQuyết địnhCách đổi
Theme Màu sắc, kích thước, tỉ lệ chữ, và hình dáng của mọi thứ do engine vẽ — tấm nền của nút, ô nhập, tab, hình vẽ công tắc Tự soạn một file .tres, hoặc sinh ra bằng tools/make_theme.py
GoSkin Hình dáng của mọi thứ do code vẽ — cần điều khiển, mặt các ô nhanh, vòng coach mark, chip, skeleton, đường kẻ chia, tiêu đề mục Kế thừa nó rồi chỉ ghi đè những phương thức bạn quan tâm
GoIconSet Biểu tượng gọi theo tên — 84 hình mặc định, hoặc 16 hình khắc chìm của bộ trung cổ phủ lên chúng. Một gói texture hay một font biểu tượng; phía gọi viết y như nhau Cung cấp một bộ, hoặc chỉ ghi đè vài cái tên
Vì sao chỉ một Theme là chưa đủ. Bo tròn là kiểu góc duy nhất mà StyleBoxFlat có — đặt bán kính về không thì được góc vuông; giữa hai thứ đó không có gì cả. Góc cắt chéo, một cạnh dày lên, ánh sáng tỏa ra ngoài: engine không vẽ cái nào trong số đó. Còn cần điều khiển và coach mark thì được vẽ trong _draw(), nơi theme hoàn toàn không với tới.

Chọn một cái

GoUi.use_preset(GoThemePresets.SCIFI_DARK)

Đúng một dòng đó đổi cả theme, skin và biểu tượng. Từ trình soạn thảo thì dùng Project Settings → Gohud → Theme → Preset; từ một tài nguyên cấu hình thì dùng GoConfig.preset.

Giữ riêng một trường cho mình

GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons     # biểu tượng của bạn, còn lại là của preset

Đặt thẳng theme, skin hay icons thì giá trị đó thắng preset.

Sáu preset có sẵn

PresetTấm nềnSkin · biểu tượng
default_dark · default_lightTấm nền StyleBoxFlat bo tròn trên một thang đổ bóng chia bậc; nút chính nhô lên rồi lún xuống khi bấmGoSkin · 84 biểu tượng mặc định
scifi_dark · scifi_lightTấm nền GoStyleBoxCut vát góc với viền neon và ánh sáng tỏa; dấu focus bằng GoStyleBoxBracketGoSkinSciFi — cần điều khiển hình lục giác · biểu tượng mặc định
medieval_dark · medieval_lightKhung rèn GoStyleBoxMedieval — sắt và da thuộc, hoặc giấy da — với đinh tán và hoa văn góc trên các menuGoSkinMedieval · 16 biểu tượng khắc chìm phủ lên bộ mặc định

Trung cổ: sắt, da thuộc và giấy da

medieval_dark ghép sắt tối và da thuộc với vàng cổ. medieval_light dùng giấy da và mực. Cả hai đều dùng GoSkinMedieval, vẫn các widget sẵn có, và 16 biểu tượng nguyên bản với chi tiết khắc chìm; biểu tượng điều hướng lùi về bộ gốc.

GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# Hoặc: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)

Hãy chọn preset trước khi tạo UI. Giá trị đặt thẳng cho GoConfig.theme, skin hay icons vẫn được ưu tiên. Mở res://addons/gohud/examples/medieval/medieval.tscn rồi nhấn F6 để xem một bảng nhân vật, túi đồ và sổ nhiệm vụ chạy thật. Các nút trong đó chuyển biến thể và mở chi tiết món đồ.

Giao diện nhân vật, túi đồ và nhiệm vụ của bản trung cổ Sắt
Sắt và da thuộc
Giao diện nhân vật, túi đồ và nhiệm vụ của bản trung cổ Giấy da
Giấy da và mực

Khung menu có một chiếc đinh tán và hoa văn góc nhỏ; HUD luôn hiện thì giữ nét viền trầm. Máu, mana và thể lực dùng phần tô màu đỏ, lam và ô liu. Cinzel chỉ dùng cho tiêu đề và phụ đề; chữ thân bài giữ font của dự án chủ hoặc font mặc định. Font kèm theo có sẵn giấy phép của nó tại assets/fonts/cinzel/OFL.txt.

Bộ khắc chìm vẽ lại bag, book, box, coin, crown, flag, heart, key, map, potion, shield, star, sworduser, đồng thời thêm scrollseal. Mọi cái tên khác lùi về bộ mặc định, nên closesettings giữ nguyên hình vẽ mặc định ở mọi preset. Cinzel chỉ phủ chữ Latinh; hãy cấp cho tiêu đề đã bản địa hóa một font riêng qua shape.fonts.

Bộ kiểm thử xét gì cho cả hai biến thể. Skin trung cổ được chọn đúng; tấm nền menu và HUD là khung rèn, còn hoa văn thì chỉ xuất hiện trên menu; tiêu đề dùng Cinzel trong khi chữ thân bài giữ font kế thừa; biểu tượng khắc chìm được import thành DPITexture; một ô nhanh thật dùng đúng skin; đổi núm chỉnh của một bản sao skin thì thay đổi lan tới ô nhanh mà không phải đụng vào preset; và chuyển ngược lại thì hình dáng của bản mặc định lẫn sci-fi được khôi phục.

Dựng một vương quốc của riêng bạn

python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# Sửa themes/palettes/kingdom.json, rồi:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# Trong GDScript, trước khi tạo các widget:
GoUi.use_preset(&"kingdom")

Theme JSON kế thừa được theme JSON khác. Giá trị bỏ trống thì giữ thiết lập của theme cha; kế thừa vòng tròn sẽ bị từ chối. Preset sinh ra giữ lại bộ biểu tượng của theme cha.

Thiết lậpTác dụng
shape.material0: sắt · 1: da thuộc · 2: giấy da. Quyết định các vết trên bề mặt.
shape.grain_alphaĐộ đậm của vân bề mặt. Đặt 0 để có mặt phẳng sạch.
shape.ornament_scale · shape.bevel_strengthCỡ hoa văn ở góc menu và độ mạnh của vệt sáng vát cạnh.
shape.fontsGán các vai trò tiêu đề, phụ đề, chú thích, thân bài và nút vào các file font res:// nằm trong add-on. Vai trò bỏ trống thì giữ font kế thừa.
skin.dialsBán kính góc ô nhanh, đinh tán hiện hay ẩn, vân và vệt sáng. Bảng đầy đủ bên dưới liệt kê từng núm chỉnh.