Bir oyunda nasıl görünüyor
Ortaçağ ve bilimkurgu ön ayarları — karakter sayfaları, envanterler ve görevler; formlar, ızgaralar ve soru kartları; köşeli paneller ve dokunmatik denetimler. Ön ayarı değiştirmek tek satır koddur.
Sizin elinizden aldıkları
Oyun arayüzünde en çok zamanı yiyen şey bir düğmenin biçimi değildir — cihazdan cihaza birbirinden ayrışan her şeydir. gohud bu ayrışmayı tek bir yerde halleder.
Her ölçü bir token'dır
Boşluklar, köşeler ve yazı boyutları sayı olarak yazılmaz, adıyla çağrılır. Temayı değiştirin, ekranın tamamı onunla birlikte hareket eder.
Görünen boyut ≠ basılabilir boyut
Bir kapatma düğmesi 36dp görünür ama dokunma hedefi 48dp'dir. Sıkışık slotlar üst üste bindiğinde, basışı merkezi daha yakın olan alır.
Çentikler ve klavyeler
HUD parçaları güvenli alanın içinde durur; sanal klavye belirdiğinde bir giriş alanı onun üstüne yükselir.
Geri, tek bir şeyi kapatır
Escape ve Android'in Geri tuşu yalnızca en üstteki yüzeyi kapatır. Üst üste açılmış pencereler birlikte yok olmaz.
Bildirimler girdiyi çalmaz
Bir snackbar'ın üstüne basın, altındaki düğme basışı alır. Odak da elinden alınmaz.
Simgeler adıyla istenir
Widget'lar yalnızca GoIconSet.CLOSE bilir. Seti değiştirin, tek satır koda dokunmadan bütün çizimler değişsin.
Altı görünüm, tek satır
GoUi.use_preset() temayı, kaplamayı ve simgeleri birlikte değiştirir — yuvarlak, pahlı bilimkurgu veya dövme ortaçağ çerçeveleri.
Okunaklılık ölçülerek
Her tema WCAG'a göre denetlenir; düğme durumları ve saf beyaz ile saf siyah üstündeki yarı saydam HUD panelleri dahil.
gohud kurulumu
İki yol var. Yapay zekâ ajanınıza yaptırın ya da klasörü projenize bırakın — başka ayarlanacak bir şey yok.
Hızlı başlangıç
Beş satır, temalı bir ekranı gösterir. Baştan sona anlatım kurulum sayfasında.
Görünümü değiştirin — renkleri ve biçimi
Bir Theme yalnızca motorun çizdiğini yeniden biçimlendirebilir. StyleBoxFlat'in sahip olduğu tek köşe yuvarlak köşedir; joystick, hızlı slotlar ve rehber işareti ise kodla çizilir — dolayısıyla tek başına bir tema onların biçimini asla değiştiremez. gohud bu yüzden ön ayarlarla gelir: tek bir birim olarak seçilen bir tema, bir kaplama ve bir simge seti.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK) # tema, kaplama ve simgeler birlikte
| Ön ayar | Görünüm |
|---|---|
default_dark | Özgün gohud — yuvarlak köşeler, yumuşak mavi vurgu |
default_light | Aynı biçimler, açık bir palet üstünde |
scifi_dark | Pahlı köşeler, camgöbeği neon kenarlar ve ışıma, altıgen joystick, hedefleme köşelikleri |
scifi_light | Aynı köşeli biçimler, parlak bir teknik çizim paletinde |
medieval_dark | Koyu demir ve deri, antika altın çerçeveler, perçinler, gravür simgeler, Cinzel başlıklar |
medieval_light | Parşömen, mürekkep ve bronz; aynı dövme çerçevelerle |
default_dark — yuvarlak köşeler, yumuşak mavi vurgu
default_light — aynı biçimler, açık palet
scifi_dark — pahlı köşeler, camgöbeği neon
scifi_light — aynı köşeli biçimler, teknik çizim paletiBu dördü aynı galeri ekranıdır. Tek bir satır kod bile farklı değil — yalnızca ön ayarın adı. Düğme köşeleri, anahtar biçimleri, liste satırları ve giriş kenarlıkları hep birlikte hareket eder.
Ortaçağ koleksiyonu
medieval_dark demir ve deriyi antika altınla eşleştirir; medieval_light parşömen ve
mürekkep kullanır. Menü çerçeveleri bir perçin ve küçük bir köşe süsü taşırken sürekli görünen HUD sessiz
kalır; 16 gravür simge nesne adlarını yeniden çizer ve yalnızca başlıklar ile alt başlıklar pakete dahil
Cinzel yazı tipini kullanır.
medieval_dark — demir ve deri
medieval_light — parşömen ve mürekkepHer iki görüntü de standart widget'lardan kurulmuş examples/medieval/medieval.tscn dosyasıdır.
Ortaçağ rehberi ve kendi krallığınızı nasıl kuracağınız →
Aynı ekran telefonda ve masaüstünde
Galeri görüntüleri dikey tutulan bir telefondur. Aşağıdaki ise aynı kodun 1280×800'deki hali — içerik okunabilir bir genişlikte (480dp) durur ve ortalanır, HUD ise köşelerde kalır. Form, yüzen HUD parçalarının etrafından dolaşır ama onlardan zaten uzaktaysa yerinden kıpırdamaz: yine de itmek geniş bir ekranda içeriği merkezden kaydırırdı.
default_dark · 1280×800
scifi_dark · 1280×800Aynı sayfa, başka bir görünüm
Birini Project Settings → gohud → Theme → Preset yolundan seçin ya da GoConfig.preset
değerini verin. theme, skin veya icons alanlarını açıkça doldurmak
ön ayarı geçersiz kılar; böylece bir ön ayarı alıp yalnızca birini değiştirebilirsiniz.
new_theme.py kingdom --from medieval_dark,
devralınan her değeri açık açık yazan bir palet oluşturur; make_theme.py kingdom temayı,
denetim grafiklerini ve kaplama ayarlarını üretir, ardından ön ayar seçicide belirir.
Her ayar ve her düğme →
Kaplamalar — bir Theme'in erişemediği yer
Bir kaplama; joystick'e, hızlı slot yüzlerine, rehber işareti halkasına, chip'lere, iskeletlere, uyarılara, ayırıcılara ve bölüm başlıklarına sahiptir. Alt sınıfını türetin ve yalnızca değiştirmek istediğinizi ezin.
class_name MySkin extends GoSkin
func slot_box(accent: Color, lit: bool) -> StyleBox:
var box := GoStyleBoxCut.new()
box.bg_color = accent
box.cut = 6.0
box.edge_color = accent
return box
| Sınıf | Yapabildiği biçimler |
|---|---|
GoStyleBoxCut | Çapraz kesilmiş köşeler (pah), kalınlaştırılmış tek bir vurgu kenarı, dışa doğru ışıma |
GoStyleBoxBracket | İçeriği kuşatmadan yalnızca köşe işaretleri |
GoStyleBoxMedieval | Perçinli, köşesi gravürlü, eğim ışıltılı ve malzeme dokulu dövme bir çerçeve |
Üçü de bir Theme kaynağına serileştirilir — bir temanın yalnızca rengi değil biçimi de
değiştirebilmesini sağlayan şey budur. Pakete dahil alt sınıflar GoSkinSciFi ve
GoSkinMedieval'dir.
GoStyle.box() her zaman bir StyleBoxFlat döndürür, çünkü çağıran kod onu
alıp bg_color veya corner_radius değerini ayarlar. Özel bir biçimin hayatta
kalması gerekiyorsa GoStyle.surface() kullanın.
Widget'lar
Parçalar, tek bir tabloda. Her biri ayrıntılı olarak →
| Sınıf | Temel | Ne yapar |
|---|---|---|
GoSurface | Control | Yüzen kart kabuğu — ortada, altta veya bir denetime sabitlenmiş yerleşim, sabit başlık ve alt bilgi, kaydırılan gövde, sürükleyerek yeniden boyutlandırma |
GoSheet | CanvasLayer | Alttan yükselen sayfalar; kendi katmanlarında olduklarından HUD'ın üstünde dururlar |
GoDialogs | Node | await ettiğiniz onaylar ve uyarılar; geri alınamayan eylemler için destructive |
GoForm | MarginContainer | Genişliği sınırlı formlar; sanal klavyeden ve avoid_hud ile HUD'dan kaçınır |
GoScroll | ScrollContainer | Dokunmatik kaydırma; kaydırma çubuğu kartın iç boşluğuna gizlenir |
GoNotice | PanelContainer | Ne girdi ne de odak alan bir snackbar |
GoPromptCard | PanelContainer | Oyunu durdurmayan bir soru |
GoCoachMark | Control | Gerçek denetimleri gösteren rehberli bir tur; hedefe basmak turu ilerletir |
GoHudAnchor | Control | HUD parçalarını güvenli alandaki dokuz noktadan birine sabitler |
GoBar | Control | Yumuşatılmış geçişlerle can, mana ve deneyim çubukları |
GoSlot | Button | Bir hızlı slot — simge, adet, bekleme süresi ve kısayol tek bir yüzde |
GoJoystick | Control | Sabit, takip veya göreli kipte sanal joystick |
GoIconButton | Button | Küçük görünür, büyük basılır |
GoStyle | static | Düğmeler, liste satırları, giriş alanları, chip'ler, tablolar, sekmeler ve dahası; hepsi tek ve tutarlı bir yoldan üretilir |
Beklemek, bildirmek, saymak
| Sınıf | Temel | Ne yapar |
|---|---|---|
GoSnackbar | Node | kendi yerini bulan mesaj |
GoSpinner | Control | sonu görünmeyen bir bekleyiş |
GoBadge | PanelContainer | okunmamış noktası, YENİ etiketi, 99+ |
Formlar ve listeler
| Sınıf | Temel | Ne yapar |
|---|---|---|
GoField | VBoxContainer | hatalı olabilen satır |
GoInputGroup | HBoxContainer | düğmesine kaynaklanmış bir girdi |
GoCombobox | Button | arama yapan bir seçici |
GoCodeInput | VBoxContainer | kupon ve hediye kodları |
GoTable | VBoxContainer | sıralanabilir başlıklar, seçilebilir satırlar |
GoPagination | HBoxContainer | sayfalar ya da bir Daha fazla satırı |
Oyunların gerçekten kullandığı biçimler
| Sınıf | Temel | Ne yapar |
|---|---|---|
GoRewardCalendar | VBoxContainer | günlük katılım |
GoRadar · GoDonut | Control | bir bakışta istatistikler |
GoCarousel | VBoxContainer | afişler ve karakter seçimi |
GoKbd | HBoxContainer | yalan söylemeyen tuş ipuçları |
Ekranın üstünde
| Sınıf | Temel | Ne yapar |
|---|---|---|
GoDrawer | CanvasLayer | yan panel |
GoPopover | RefCounted | sabitlenmiş kart |
GoContextMenu | RefCounted | uzun basış ve sağ tık |
GoConsole | CanvasLayer | geliştirici konsolu |
AI SKILL
gohud bir yapay zekâ becerisiyle gelir: API'nin tamamı, çalışmaya hazır şablonlar ve önizleme başlatıcı. Tek bloğu ajanınıza yapıştırın; gohud'u kurar ve nasıl kullanacağını bilir.
Okunaklılık göz kararı değil, ölçümle
"Güzel" zevk meselesidir; "okunaklı" ölçülebilir. Soluk gri bir yazı iyi bir monitörde hoş görünür ve gün ışığındaki bir telefonda kaybolur — göz kararı seçmek bunu er ya da geç garanti eder.
python3 addons/gohud/tools/check_contrast.py
Her renk çifti ve her düğme durumunun etiketi, üstünde durduğu panele karşı altı temanın hepsinde WCAG'a göre ölçülür. Yarı saydam renkler önce gerçek arka planlarıyla birleştirilir — doğrudan ölçmek ekranda görünenden daha iyi bir oran bildirir.
Bu yüzden yazı renkleri seçilmez, türetilir: üretici, paletteki değeri bir başlangıç noktası alır ve inebileceği her yüzeyde eşiği geçene kadar açıklığını iter. Paleti değiştirin, kontrast onu izlesin. Kurallar ve arkalarındaki tuzaklar →
Denetimler, sürümler ve bu site
Tek bir giriş noktası bütün denetimleri çalıştırır; her parça diğerlerinin göremediği bir şeyi görür.
bash addons/gohud/tools/check_all.sh
| Denetim | Neyi yakalar |
|---|---|
Dört ekran boyutunda run_tests.sh | Widget davranışı ve yerleşimi, RTL konumları, klavye odağı, çalışma anındaki kaplama kontrastı, her ön ayar |
new_project_check.sh | Barındıran projeye gizli bağımlılıklar; --zip ile yayımlandığı haliyle sürüm, --export ile bir Web derlemesi |
check_contrast.py | Her tema dosyasının WCAG kontrastı; düğme durumları ve yarı saydam paneller dahil |
check_generated.py · check_scaffold.sh | Üretilen temalar paletleriyle uyuşuyor mu; kullan-at bir tema derleniyor ve kontrastı geçiyor mu |
check_package.py | package.json'dan alınan sürüm, değişiklik günlüğü taşımaları ve ZIP içeriği, geçici kopyalar üzerinde |
check_site.py | Bu sitenin bağlantıları, çapaları, sayfa dili, sözlüğü ve ayar tabloları |
Sürüm yayımlama
cat addons/gohud/package.json # { "version": "1.1.0" }
bash addons/gohud/tools/package.sh # 1.1.0 → builds/1.1.0/gohud-1.1.0.zip
Sürüm, package.json içinde yazan sürümdür; paketleme onu asla artırmaz. Yeni bir sürüm yayımlamak
için önce o numarayı değiştirin. Başarılı bir çalıştırma plugin.cfg ve GoUi.VERSION
değerlerini ona eşitler ve o sürüm ilk kez paketlendiğinde CHANGELOG.md içindeki Unreleased
notlarını tarihli bir girdiye taşır. Aynı sürümü yeniden paketlemek ZIP'ini baştan oluşturur ve eskisinin yerine
koyar. Başarısız bir çalıştırma hiçbir şeyi değiştirmez. ZIP; bu web sitesini, testleri, araçları ve
package.json dosyasını dışarıda bırakır.
Bu site
python3 addons/gohud/tools/make_site.py # sözlük ve kaplama ayarı tabloları, kaynaktan üretilir
python3 addons/gohud/tools/check_site.py # bağlantılar, çapalar, dil, sözlük, üretilen tablolar
bash addons/gohud/tools/site_shots.sh /tmp/shots # her sayfanın masaüstü ve telefon ekran görüntüleri
Sayfalar www/ içinde düz HTML'dir — kökte İngilizce, ko/ içinde Korece. Bir GitHub
Actions iş akışı bu klasörü sitenin kökü olarak yayımlar.