gohud

Biểu tượng

1.287 hình vẽ gọi theo tên — 84 hình luôn có sẵn, 187 hình cho game và thêm 1.000 hình trong thư viện. Tìm một hình bên dưới, sao chép tên, và mọi widget của gohud đều vẽ được nó.

Biểu tượng được gọi theo tên

Widget không bao giờ giữ hình. Nó chỉ hỏi tên, còn vẽ gì là do bộ biểu tượng đang dùng quyết định — đổi bộ là mọi biểu tượng đổi theo mà không phải sửa một dòng code nào.

GoStyle.icon_button(GoIconSet.SETTINGS, open_settings)   # a button
slot.icon_name = GoGameIcons.BACKPACK                     # a quick slot
var mark := GoUi.icons().node(&"cloud_rain", 24)          # a bare Control, any size

GoUi.icons() là bộ đang dùng. Tên nào nó không vẽ được sẽ thành một ô trống giữ nguyên chỗ, kèm cảnh báo trong bản build debug, nên thiếu một biểu tượng cũng không làm lệch hàng.

Tìm biểu tượng

Mọi hình vẽ đi kèm gohud. Tìm theo tên hoặc theo hình dáng, thu hẹp theo bộ hay nhóm, rồi chọn một biểu tượng để sao chép tên.

Tên và từ khóa tìm kiếm giữ nguyên tiếng Anh ở mọi ngôn ngữ — đó là thứ bạn gõ trong code.

Bốn bộ, một cách tìm

Bộ nào cũng trả lời cùng một lời gọi. Các bộ lớn được thêm chồng lên bộ đang dùng.

BộTênHằng sốCách bật
Mặc định84GoIconSetLuôn bật
Trung cổ16 hình khắc—GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
Game187GoGameIconsGoUi.add_icons(GoGameIcons.icon_set())
Thư viện1.000GoIconLibraryGoUi.add_icons(GoIconLibrary.icon_set())
GoUi.add_icons(GoIconLibrary.icon_set())   # the library — and the game set under it
GoUi.add_icons(GoGameIcons.icon_set())     # or the game set alone

Thư viện lùi về bộ game, bộ game lùi về bộ mặc định, nên chỉ một dòng là vẽ được 1.271 tên. Một bộ giữ hình vẽ dưới dạng đường dẫn và chỉ đọc file khi tên đó được vẽ lần đầu: thêm thư viện là đọc một bảng đường dẫn (khoảng 30 ms trên máy tính), không phải 1.000 texture.

Đường dẫn là chuỗi, không phải phụ thuộc. Bản xuất có chọn tài nguyên phải kèm addons/gohud/icons/; tùy chọn mặc định “xuất mọi tài nguyên” thì không cần gì.

Cách một tên được tìm

Một thứ tự chung cho mọi bộ, nên bạn biết trước hình nào thắng.

  1. Trước hết là hình riêng của mọi bộ — bộ đang dùng, rồi từng bộ thêm vào, rồi bộ dự phòng của chúng, từng tầng một. Hình riêng của một bộ là texture, đường dẫn hoặc glyph của font biểu tượng.
  2. Nếu không ai vẽ được, thử bí danh: gear dẫn tới settings, x tới close. Chỉ một bước.
  3. Vẫn không có: một ô trống giữ nguyên chỗ.

Nhờ thứ tự đó mà thanh kiếm khắc của preset trung cổ vẫn nằm trên cùng khi bạn thêm thư viện — hình riêng của nó được tìm thấy trước bộ dự phòng của bất kỳ ai.

GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
GoUi.add_icons(GoIconLibrary.icon_set())

GoUi.icons().texture(&"sword")      # the medieval engraving — its own drawing comes first
GoUi.icons().texture(&"rocket")     # from the game set
GoUi.icons().canonical(&"gear")     # &"settings" — an alias

Preset, bộ của bạn và bộ thêm vào

Ba chỗ quyết định vẽ gì.

Lời gọiTác dụng
GoUi.use_preset(…)Đổi theme, skin và bộ biểu tượng một lượt. Xóa config.icons, giữ config.extra_icons.
GoUi.config.icons = my_setThay bộ biểu tượng của preset bằng bộ của bạn.
GoUi.add_icons(set)Thêm một bộ được tra sau bộ đang dùng. Đổi preset vẫn còn.

Hình vẽ của riêng bạn

Ghi đè vài tên, thêm cả một thư mục hoặc gắn một font biểu tượng — code gọi vẫn giữ nguyên.

# Override a few names — everything else still comes from the set in use
var mine := GoIconSet.new()
mine.fallback = GoUi.icons()
mine.textures = {GoIconSet.CLOSE: preload("res://art/close.svg")}
GoUi.config.icons = mine

# A folder of drawings — file name = icon name, each read when first drawn
GoUi.config.icons = GoIconSet.from_folder("res://art/icons", GoUi.icons())

Tên, nhóm và tìm kiếm

Các quy tắc bộ đi kèm tuân theo, và các lời gọi để tìm một tên.

var icons := GoUi.icons()
icons.search("arrow left", 5)       # best matches first: back, arrow_bar_left …
icons.search("rain")                # cloud_rain, then drawings tagged "rain"

group_names() · names_in_group()

icons.group_names()                 # every group key, in lookup order
icons.names_in_group(&"weather")    # one group, in display order — every set's share of it
icons.group_title(&"weather")       # "Weather & sky"

canonical() · has_icon()

icons.canonical(&"gear")            # &"settings"
icons.canonical(&"treasure_chest")  # &"chest" — Tabler's name for a game drawing
icons.has_icon(&"cloud_rain")       # true once the library is added — nothing is loaded to answer

Hình vẽ đến từ đâu

Tất cả đều là MIT. Thông báo đi kèm trong ZIP dưới tên THIRD_PARTY_NOTICES.md.

BộNguồnGiấy phép
Mặc địnhVẽ cho gohudMIT
Trung cổVẽ cho gohudMIT
Game171 hình từ Tabler Icons 3.46.0, 16 hình vẽ cho gohudMIT
Thư việnTabler Icons 3.46.0MIT

Nếu gắn biểu tượng của người khác, hãy ghi nguồn vào GoIconSet.attribution — và giữ font biểu tượng thương mại trong game của bạn, đừng để trong một bản fork bạn công bố.