Simge adıyla çağrılır
Widget'lar resim tutmaz. Yalnızca bir ad sorarlar; neyin çizileceğine kullanılan simge seti karar verir — seti değiştirin, tek satır koda dokunmadan bütün simgeler değişsin.
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() kullanılan settir. Çizemediği bir ad, yerini koruyan boş bir kutuya dönüşür ve hata ayıklama derlemelerinde bir uyarı çıkar; eksik bir simge bir satırı asla kaydırmaz.
Simge bul
gohud ile gelen bütün çizimler. Ada ya da gösterdiği şeye göre arayın, bir set ya da grupla daraltın ve adını kopyalamak için bir simge seçin.
Adlar ve arama kelimeleri her dilde İngilizce kalır — kodda yazdığınız şey onlardır.
Dört set, tek arama
Her set aynı çağrıya yanıt verir. Büyük setler kullanılan setin üstüne eklenir.
| Set | Adlar | Sabitler | Nasıl açılır |
|---|---|---|---|
| Varsayılan | 84 | GoIconSet | Her zaman açık |
| Ortaçağ | 16 gravür | — | GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK) |
| Oyun | 187 | GoGameIcons | GoUi.add_icons(GoGameIcons.icon_set()) |
| Kütüphane | 1.000 | GoIconLibrary | GoUi.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
Kütüphane oyun setine, oyun seti de varsayılan sete geri düşer; böylece tek satır 1.271 adı çizilebilir yapar. Bir set çizimlerini yol olarak tutar ve bir dosyayı yalnızca o ad ilk kez çizildiğinde okur: kütüphaneyi eklemek 1.000 doku değil, bir yol tablosu okur (masaüstünde yaklaşık 30 ms).
addons/gohud/icons/ klasörünü içermelidir; varsayılan “tüm kaynakları dışa aktar” için bir şey gerekmez.Bir ad nasıl bulunur
Her set için tek bir sıra; böylece hangi çizimin kazanacağını bilirsiniz.
- Önce her setin kendi çizimleri — kullanılan set, sonra eklenen her set, ardından onların yedekleri, kat kat. Bir setin kendi çizimi bir doku, bir yol ya da bir simge yazı tipi glifidir.
- Hiçbiri çizmediyse bir takma ad denenir:
gearsettings'e,xclose'a götürür. Yalnızca bir adım. - Hâlâ bir şey yoksa: yerini koruyan boş bir kutu.
Kütüphaneyi eklediğinizde ortaçağ ön ayarının gravürlü kılıcının üstte kalması bu sıra sayesindedir — onun kendi çizimi herhangi bir yedekten önce bulunur.
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
Ön ayarlar, kendi setiniz ve ek setler
Neyin çizileceğine üç yer karar verir.
| Çağrı | Ne yapar |
|---|---|
GoUi.use_preset(…) | Tema, skin ve simge setini tek seferde değiştirir. config.icons'u boşaltır, config.extra_icons'u korur. |
GoUi.config.icons = my_set | Ön ayarın simge setini sizinkiyle değiştirir. |
GoUi.add_icons(set) | Kullanılan setten sonra bakılacak bir set ekler. Ön ayar değişince de kalır. |
Kendi çizimleriniz
Birkaç adı ezin, koca bir klasör ekleyin ya da bir simge yazı tipi bağlayın — çağıran kod aynı kalır.
# 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())
- 24×24 ızgarada beyaz çizgiyle çizin. Renk
modulateile gelir ve o yalnızca koyulaştırabilir — siyah bir çizim her temada siyah kalır. - SVG'leri
DPITextureolarak içe aktarın; 64 dp'lik bir envanter hücresinde de keskin kalsınlar. - Simgeler sağdan sola yazılan dillerde asla aynalanmaz. Yön değiştiren yalnızca
backveforward'dur ve onları adıyla seçersiniz. - Bir simge yazı tipi de olur:
fontvecodepoints'i doldurun. Başka hiçbir şey değişmez.
Adlar, gruplar ve arama
Paketlenmiş setlerin izlediği kurallar ve bir adı bulan çağrılar.
- lower_snake_case; önce çizilen şey, en sonda durumu:
volume_off,battery_charging,arrow_bar_left. - Grup öneki yok. Gruplar veridir; bu yüzden bir ad nereye konursa konsun aynı kalır.
- Kütüphane adları, alt çizgili Tabler adlarıdır: tabler.io'daki
cloud-rainburadacloud_rain'dir. gohud'da zaten olan çizimlerin Tabler adları takma ad olarak onlara götürür (shopping_cart→cart). - Eş anlamlı bir kelime takma addır, asla ikinci bir çizim değildir.
search()
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
Çizimler nereden geliyor
Her şey MIT. Bildirimler ZIP içinde THIRD_PARTY_NOTICES.md olarak gelir.
| Set | Kaynak | Lisans |
|---|---|---|
| Varsayılan | gohud için çizildi | MIT |
| Ortaçağ | gohud için çizildi | MIT |
| Oyun | 171 tanesi Tabler Icons 3.46.0, 16 tanesi gohud için çizildi | MIT |
| Kütüphane | Tabler Icons 3.46.0 | MIT |
Başkasının simgelerini bağlarsanız kaynağını GoIconSet.attribution alanına yazın — ticari simge yazı tiplerini de yayımladığınız bir çatalda değil, oyununuzun içinde tutun.