gohud

ติดตั้ง gohud

มีสองทาง ให้เอเจนต์ AI ทำให้ หรือวางโฟลเดอร์ลงในโปรเจกต์ของคุณ — ไม่มีอะไรต้องตั้งค่าเพิ่ม

ทางที่เร็วที่สุด — ให้เอเจนต์ AI ติดตั้งให้

ข้อความบล็อกเดียว วางลงใน Claude Code, Codex, Cursor หรือ Gemini CLI จะติดตั้งทั้ง skill และแอดออน แล้วอธิบาย gohud ให้คุณฟัง ถ้าไปทางนี้ ทุกอย่างใต้การ์ดนี้ไม่จำเป็นเลย

เปิดหน้า AI SKILL →

ติดตั้ง

แค่วางโฟลเดอร์แอดออนลงในโปรเจกต์ ไม่มีอะไรต้องตั้งค่าเพิ่ม

จาก Asset Store หรือไฟล์ ZIP ของรีลีส

แตกไฟล์ลงที่รากโปรเจกต์ให้ได้เป็น res://addons/gohud/ เท่านี้จบ หรือจะเปิดใช้เพิ่มเติมที่ Project → Project Settings → Plugins → gohud ก็ได้

ในรูปแบบ git submodule

git submodule add https://github.com/thruthesky/gohud.git addons/gohud
git submodule update --init
git -C addons/gohud checkout v1.0.0   # ไม่บังคับ: ตรึงไว้ที่แท็กหรือคอมมิตหนึ่ง

รากของรีโพคือตัวโฟลเดอร์แอดออน มันจึงลงไปอยู่ตรงตำแหน่งที่ Godot คาดหวังพอดี แก้ไขได้ในที่เดิม คอมมิตและ push ภายใน addons/gohud แล้วค่อยคอมมิตตัวชี้ของ submodule ในโปรเจกต์เกม

ต้องใช้ Godot 4.6 ขึ้นไป gohud ใช้ API ที่เพิ่มเข้ามาใน 4.5 (DPITexture, FoldableContainer, พร็อพเพอร์ตี้ด้านการเข้าถึง) เวอร์ชันที่เก่ากว่านั้นจะพังตั้งแต่ตอนแปลงสคริปต์ 4.6 คือขั้นต่ำที่รองรับ และบันทึกไว้ใน GoUi.MIN_ENGINE

เริ่มใช้งาน

ทุกวิดเจ็ตสร้างด้วย .new() แล้ว add_child() — ไม่มีไฟล์ซีน ไม่มี autoload

เลือกลุคก่อนลงมือสร้าง UI (ไม่บังคับ)

GoUi.use_preset(GoThemePresets.SCIFI_DARK)   # ถ้าข้ามบรรทัดนี้จะใช้ default_dark

กล่องยืนยันที่ await ได้

var dialogs := GoDialogs.new()
add_child(dialogs)
if await dialogs.confirm("ลบไฟล์เซฟ", "การกระทำนี้ย้อนกลับไม่ได้"):
    delete_save()

ส่ง destructive = true (อาร์กิวเมนต์ตัวสุดท้าย) แล้วปุ่มยืนยันจะถูกวาดเป็นปุ่มอันตรายแบบทึบ

บอททอมชีตที่มีช่องค้นหาและแถบท้ายติดหนึบ

var sheet := GoSheet.new()
add_child(sheet)
sheet.open("กระเป๋าของ")
sheet.toolbar().add_child(GoStyle.line_edit("ค้นหา…"))
sheet.toolbar().visible = true
for item in items:
    sheet.body.add_child(GoStyle.list_button(GoIconSet.BOX, item.name, _use.bind(item),
        Color.TRANSPARENT, item.description, false))
sheet.footer().add_child(GoStyle.button("ปิด", sheet.close, GoStyle.Tone.PRIMARY))
sheet.footer().visible = true
ทำไมแถวติดหนึบถึงแยกออกจากตัวเนื้อหาที่เลื่อนได้ ถ้าเอาปุ่มยืนยันกับยกเลิกไปใส่ใน body รายการที่ยาวจะดันมันตกจอไป ส่วน footer() มองเห็นอยู่เสมอ

มุมหนึ่งของ HUD

var corner := GoHudAnchor.new()
corner.spot = GoHudAnchor.Spot.TOP_LEFT
corner.landscape_spot = GoHudAnchor.Spot.TOP_RIGHT
add_child(corner)

var hp := GoBar.new()
hp.label_text = "HP"
hp.ink = GoUi.color(GoTheme.DANGER_FILL)
corner.add_child(hp)
hp.set_values(320, 500)

เนื้อหาที่หลบให้พ้น HUD

form.avoid_hud = true                  # หลบทุก GoHudAnchor ที่มองเห็นอยู่
joystick_anchor.reserve_space = false  # …ยกเว้นอันที่โผล่มาเฉพาะตอนมีนิ้วแตะ
notice_anchor.avoid_peers = true       # ให้ toast ไปลงใต้ HUD ที่อยู่กับที่ แทนที่จะบังมัน

สี่เหลี่ยมแต่ละผืนจะถูกหลบไปในทิศที่เสียพื้นที่น้อยที่สุด — ลงล่างบนมือถือแนวตั้ง และไปด้านข้างเมื่อวางแนวนอน HUD หลบตัวเองอย่างไร →

ตัวอย่างที่รันได้จริง

สามวิธีที่จะเห็น gohud ก่อนเขียนโค้ดสักบรรทัด — ไม่ต้องมีเซิร์ฟเวอร์ ไม่ต้องมี autoload

ตัวอย่างวิธีเปิดแสดงอะไร
แกลเลอรีexamples/gallery/gallery.tscn · F6วิดเจ็ตทุกตัว ตัวเลือกพรีเซ็ตที่ติดตั้งไว้ทุกอัน และชุดไอคอนทั้งชุด
ยุคกลางexamples/medieval/medieval.tscn · F6แผ่นข้อมูลตัวละคร ย่าม และสมุดบันทึกเควสต์ ปุ่มต่าง ๆ สลับระหว่างเหล็กกับกระดาษหนัง และเปิดรายละเอียดไอเทม
แอปเดโมcd examples/demo && godotหน้าแรกที่เปิดแกลเลอรี ทัวร์แนะนำ 15 บท หน้าโชว์เคส และลุคยุคกลาง พร้อมวิดเจ็ตที่ใช้งานได้จริงและการ์ดหนึ่งใบต่อหนึ่งคลาส
cd examples/demo && godot                             # หน้าแรก; เชื่อมลิงก์และอิมพอร์ตให้ในการรันครั้งแรก
bash examples/demo/run.sh                               # แอปเดียวกัน สั่งจากรากของแอดออน
bash examples/demo/run.sh -- --open=gallery             # ข้ามหน้าแรกไปเลย
bash examples/demo/run.sh -- --explore=surfaces         # เปิดเข้าไปที่บทใดบทหนึ่งของทัวร์โดยตรง
bash examples/demo/run.sh --record /tmp/gohud-demo.avi  # บันทึกทัวร์เป็นวิดีโอ 1080p / 60 fps

แอปเดโมไม่ต้องตั้งค่าอะไรเลย: ถ้าลิงก์ของแอดออนหรือแคชการอิมพอร์ตหายไป มันจะบอกให้รู้ ซ่อมโฟลเดอร์ให้ แล้วเปิดตัวเองขึ้นมาใหม่ หน้าแรกของมันเปิดตัวอย่างแต่ละอันในหน้าต่างเดียวกัน — กด 14 หรือคลิก ที่แถว แล้วแถบด้านบนสุดจะพาคุณกลับมา

ในทัวร์ C สลับโหมดโรงหนัง F11 เต็มจอ Space หยุดชั่วคราว (หรือเล่นวิดเจ็ตปัจจุบันขณะสำรวจ) ปุ่มลูกศรเปลี่ยนบท และ Escape กลับไปหน้าเริ่มต้น

ใช้ AI coding agent อยู่ใช่ไหม? เปิดทั้งสามตัวด้วยคำสั่งเดียว →