gohud

Kendi ön ayarınız — tek bir dosya

← Tema

Eskiden bir tema eklemek dört yeri elle düzenlemek demekti — üreticinin paleti, biçim, bir kaplama, bir ön ayar kaynağı. Artık tek bir komut hepsini yerine koyuyor.

python3 addons/gohud/tools/new_theme.py neon --from scifi_dark --title "Neon"
python3 addons/gohud/tools/make_theme.py neon      # tema .tres + denetim grafikleri
godot --headless --path . --import                  # yeni grafikleri bir kez içe aktar
GoUi.use_preset(&"neon")                             # bitti — seçicide de görünür

İlk satır themes/palettes/neon.json ve themes/presets/neon.tres dosyalarını yazar. JSON, devraldığı temanın her değerini açık açık taşır; böylece aynı zamanda değiştirebileceklerinizin listesi olur: üst temanın değerini korumak için bir anahtarı silin, ezmek için yazın. Ön ayarlar themes/presets/ klasörü taranarak bulunur, yani hiçbir kayıt kodu değişmez — proje ayarındaki açılır liste de onu kendiliğinden alır.

Neleri değiştirebilirsiniz — tek sayfada

NeredeNeNasıl
fromüst temadark · light · scifi_dark · medieval_dark · … ya da başka bir JSON teması. Atlanan anahtarlar onun değerlerini devralır; devralma döngüsü hata verir
palettearka plan · üç yüzey · kenarlık · üç yazı tonu · vurgu · dört durum rengi · scrim · gölge · çubuk oluğu"#RRGGBB", alfa için "#RRGGBB@0.35"
yalnızca dolguya özgü canlı renkler *_vividyazı rengi koyulaşmak zorunda kalsa bile çubukları doygun tutar — birini eksik bırakırsanız üretici bunu bildirir
okunaklılıkelle ayarlanmaz. Yazı, kenarlıklar, vurgu ve onun üstündeki etiket, eşikleri geçene kadar üretici tarafından itilir — yalnızca vurguyu değiştirin, denetimler yine geçsin
shapekindflat (yuvarlak) · cut (pahlı köşeler) · medieval (dövme çerçeveler)
boyutlarradius · radius_small · radius_large · gap · gap_small · gap_large · padding · button_height · button_padding[4] — token'lar peşinden gelir, böylece paneller ile widget hesapları asla çelişmez
yalnızca cutcut_ratio · cut_max · corners (diagonal|all) · glow · edge
yalnızca medievalmaterial (0 demir · 1 deri · 2 parşömen) · grain_alpha · ornament_scale · bevel_strength · fontstitle, subtitle, caption, body, button eklenti içindeki res:// yazı tipi dosyalarıyla eşleştirilir
skinbase — kodun kendi çizdiği yerler için aile (joystick, slotlar, rozetler, rehber işareti halkası, chip'ler, ayırıcılar)default · scifi · medieval
dials — o yerlerin sayıları: slot kenarlık kalınlığı ve tonu, rozet iç boşluğu, chip ve uyarı saydamsızlığı, joystick halka kalınlığı ve saydamsızlığı, bilimkurgu pah boyutları, ışıma ve köşelikÜst temanın her değeri JSON'da açık açık yazılıdır. Üretici bunları themes/skins/gohud_skin_<id>.tres dosyasına yazar — hiçbir kaplama koduna dokunulmaz. Yalnızca çizimlerin kendisini değiştirmek için --new-skin çalıştırırsınız; bu da bir GoSkin alt sınıfının iskeletini oluşturur
iconssimge setibir GoIconSet kaynağına giden res:// yolu — atlandığında JSON üst temasından korunur
dark · titleseçicide nasıl görüneceğiboolean · metin

Bütün ayarlar

Aşağıdaki tabloyu tools/make_site.py doğrudan kaplama betiklerinin @export satırlarından doldurur — bir ayar ekleyin ya da bir varsayılanı değiştirin, tablo peşinden gelsin. Bu adları JSON içinde skin.dials altında kullanın. Varsayılanı 14 okunan bir ayar tam sayıdır, 10.0 okunan ise ondalıklıdır — JSON'a hangi biçimde yazarsanız yazın, üretici betiğin türüne dönüştürür.

Varsayılan kaplama GoSkin — 17

AyarVarsayılanNeyi belirler
chip_fill_alpha0.16Bir chip panelinin dolgu saydamsızlığı.
chip_edge_alpha0.45Bir chip panelinin kenar saydamsızlığı.
alert_tint0.1Bir uyarı kutusunun panelinin durum rengine ne kadar yaklaştırılacağı.
slot_tint_lit0.24Bekleme süresi işlerken hızlı slot panelinin vurgu tonu.
slot_tint_idle0.08Boştayken hızlı slot panelinin vurgu tonu.
slot_border_lit2Bekleme süresi işlerken hızlı slot kenarlık kalınlığı (dp).
slot_border_idle1Boştayken hızlı slot kenarlık kalınlığı (dp).
badge_pad_x5Bir rozetin (adet, kalan süre) yatay iç boşluğu (dp).
badge_pad_y1Bir rozetin dikey iç boşluğu (dp).
badge_edge_alpha0.6Bir rozet panelinin kenar saydamsızlığı.
float_shadow_alpha0.45Yüzen kartların (rehber işareti, soru kartı) gölge saydamsızlığı.
float_shadow_size14Yüzen kartların gölge bulanıklığı (dp).
float_shadow_lift4Yüzen bir kartın gölgesinin aşağı doğru kayması (dp).
float_glow_size10.0Gölge yerine ışıyan yüzen bir panelin ışıma mesafesi (dp); bilimkurgunun pahlı paneli gibi.
joystick_base_alpha0.42Joystick'in taban diskinin saydamsızlığı.
joystick_ring_alpha0.45Joystick halkasının saydamsızlığı.
joystick_ring_width2.0Joystick halkasının kalınlığı (dp).

Bilimkurgu kaplaması GoSkinSciFi — 10

AyarVarsayılanNeyi belirler
cut_chip7.0Bir chip panelinin pah boyutu (dp).
cut_skeleton5.0Bir iskelet panelinin pah boyutu (dp).
cut_alert8.0Bir uyarı kutusunun pah boyutu (dp).
cut_segment8.0Bölümlü bir denetimin pah boyutu (dp).
cut_slot6.0Bir hızlı slot panelinin pah boyutu (dp).
cut_disc_ratio0.24Avatarların ve disklerin pahı = çap × bu oran.
slot_glow_alpha0.45Bekleme süresi işleyen bir slotun ışıma saydamsızlığı.
slot_glow_size6.0Bekleme süresi işleyen bir slotun ışıma mesafesi (dp).
bracket_arm12.0Rehber işaretinin hedefleme köşeliğinin kol uzunluğu (dp).
bracket_thickness2.0Rehber işaretinin hedefleme köşeliğinin çizgi kalınlığı (dp).

Ortaçağ kaplaması GoSkinMedieval — 5

AyarVarsayılanNeyi belirler
slot_radius4.0Ortaçağ hızlı slot çerçevesinin köşe yarıçapı (dp).
leather_grain_alpha0.035Hızlı slotların içindeki hafif deri izlerinin saydamsızlığı.
ornament_scale1.0Hızlı slot köşelerindeki metal süslerin ölçeği. Menü çerçeveleri shape.ornament_scale kullanır.
bevel_strength0.18Hızlı slot kenarları boyunca uzanan metal ışıltının şiddeti.
slot_rivets1Hızlı slotlarda küçük metal perçinleri göster: 0 gizler, 1 gösterir.

Kaplamanın alt sınıfını türetin (isteğe bağlı)

Yalnızca temanın ve biçimin erişemediği şeyler — joystick'in altıgeni, slot rozetleri, rehber işaretinin hedefleme köşeliği — bir kaplamada yaşar. GoSkin'in alt sınıfını türetin, yalnızca o metotları ezin ve JSON'daki skin alanını o kaynağa yöneltin. Yalnızca renk değiştiren bir tema bu adımı atlar.

Bir denetim sözü tutar. tools/check_scaffold.sh her çalıştırmada kullan-at bir tema oluşturur — vurguyu değiştirir, yarıçapı 4 yapar — ve silmeden önce üretimi, token yayılımını ve temiz bir kontrast geçişini doğrular. İlk çalıştırma, yalnızca vurgusu değiştirilmiş bir temanın 8 çiftte başarısız olduğunu ortaya çıkardı: üretici yazı renklerini itiyor ama vurguyu yazıldığı gibi kullanıyordu. Artık vurguyu ve onun üstündeki etiketi de itiyor.