gohud

สามชั้น

← ธีม

พรีเซ็ตหนึ่งอันรวมทั้งสามชั้นไว้ด้วยกัน ช่องที่ปล่อยว่างจะย้อนกลับไปใช้ค่าเริ่มต้น

ชั้นกำหนดอะไรเปลี่ยนอย่างไร
Theme สี ขนาด สเกลตัวอักษร และรูปทรงของทุกอย่างที่เอนจินเป็นคนวาด — พาเนลของปุ่ม ช่องกรอก แท็บ ภาพของสวิตช์ เขียนไฟล์ .tres เอง หรือให้ tools/make_theme.py สร้างให้
GoSkin รูปทรงของทุกอย่างที่โค้ดเป็นคนวาด — จอยสติ๊ก หน้าควิกสล็อต วงแหวนโค้ชมาร์ก ชิป สเกเลตัน เส้นคั่น หัวข้อส่วน สืบทอดคลาสแล้วเขียนทับเฉพาะเมธอดที่สนใจ
GoIconSet ไอคอนที่เรียกด้วยชื่อ — ภาพค่าเริ่มต้น 84 ชิ้น หรือภาพสลัก 16 ชิ้นของชุดยุคกลางที่ทับลงไป จะเป็นเท็กซ์เจอร์แพ็กหรือไอคอนฟอนต์ก็ได้ โค้ดที่เรียกใช้เหมือนกันทั้งสองทาง ใส่ชุดไอคอนเข้าไป หรือเขียนทับเฉพาะบางชื่อ
ทำไม Theme อย่างเดียวถึงไม่พอ มุมมนคือมุมชนิดเดียวที่ StyleBoxFlat มี — ตั้งรัศมีเป็นศูนย์แล้วได้มุมฉาก ไม่มีอะไรอยู่ระหว่างนั้นเลย ส่วนมุมตัดเฉียง ขอบหนาด้านเดียว และแสงเรืองรอบนอกนั้น เอนจินไม่วาดให้สักอย่าง ยิ่งกว่านั้น จอยสติ๊กกับโค้ชมาร์กถูกวาดใน _draw() ซึ่งเป็นที่ที่ธีมเอื้อมไม่ถึงเลย

เลือกพรีเซ็ต

GoUi.use_preset(GoThemePresets.SCIFI_DARK)

บรรทัดเดียวนั้นสลับทั้งธีม สกิน และไอคอน ถ้าทำจากเอดิเตอร์ ให้ไปที่ Project Settings → Gohud → Theme → Preset ถ้าทำจากรีซอร์สตั้งค่า ให้ใช้ GoConfig.preset

เก็บบางช่องไว้เป็นของตัวเอง

GoUi.use_preset(GoThemePresets.SCIFI_DARK)
GoUi.config.icons = my_icons     # ไอคอนของคุณ ที่เหลือใช้ของพรีเซ็ต

การกำหนด theme, skin หรือ icons ไว้ตรง ๆ จะชนะพรีเซ็ต

พรีเซ็ตที่มีมาให้ทั้ง 14 แบบ

พรีเซ็ตพาเนลสกิน · ไอคอน
default_dark · default_lightพาเนล StyleBoxFlat มุมมน บนสเกลเงาที่ไล่ระดับ ปุ่มหลักยกตัวขึ้นและยุบลงเมื่อถูกกดGoSkin · ไอคอนค่าเริ่มต้น 84 ชิ้น
scifi_dark · scifi_lightพาเนล GoStyleBoxCut มุมตัดเฉียง พร้อมขอบนีออนและแสงเรือง เครื่องหมายโฟกัสแบบ GoStyleBoxBracketGoSkinSciFi — จอยสติ๊กหกเหลี่ยม · ไอคอนค่าเริ่มต้น
medieval_dark · medieval_lightกรอบตีขึ้นรูป GoStyleBoxMedieval — เหล็กและหนัง หรือกระดาษหนัง พร้อมหมุดย้ำและลวดลายมุมบนเมนูGoSkinMedieval · ไอคอนสลัก 16 ชิ้นทับบนชุดค่าเริ่มต้น
material_light · material_dark ใหม่Material 3 Expressive สำหรับหน้าจอแอป — ปุ่มแคปซูล 40dp ในพื้นที่แตะ 48dp ไดอะล็อก 28dp การ์ดแบบเติมสี ช่องกรอกแบบมีขอบ สไลเดอร์ Expressive ส่วนคอมโพเนนต์แอป (แถบนำทาง แถบแอปด้านบน FAB แถบค้นหา ชิป ความคืบหน้า ตัวเลือกวันที่) เป็นไปตามโทเคนคอมโพเนนต์ของ M3GoSkinMaterial · ไอคอนค่าเริ่มต้น
kids_light · kids_dark ใหม่สำหรับเด็ก — กล่องของเล่น: ขอบหนาและฐานทึบใต้ทุกปุ่ม ซึ่งยุบลงเมื่อกด ช่องกรอกข้อความแบบเว้าลง แท็บรูปฟองสบู่ แถบแบบเยลลี่ ตัวควบคุมแต่ละแบบมีสีเทียนของตัวเอง ช่องลัดแบบลูกอม ป้ายแบบสติกเกอร์ จอยสติกสีรุ้ง และแผนภูมิหลากสี ขนาดและฟอนต์ของโปรเจกต์ยังคงเดิมGoSkinKids · ไอคอนค่าเริ่มต้น
arcade_light · arcade_dark ใหม่ตู้เกมอาร์เคดที่วาดโดย GoStyleBoxArcade: ทุกปุ่มลงสีไล่เฉดจากบนลงล่าง มีเงาสะท้อนสีขาว และฐานที่ยุบลงเมื่อกด ภายในเส้นขอบหมึกสีกรมท่า ป้ายข้อความเป็นสีขาวตัดเส้นหมึก — สีหลักสีเขียว ปุ่มสีน้ำเงิน อันตรายสีแดง ปุ่มเล็กสีลาเวนเดอร์ บอร์ดหนาที่มีกรอบสีล้อมรอบแอ่งสีอ่อน และหน้าต่างมีแถบชื่อเรื่องสีทองกับปุ่มปิดทรงกลมสีแดงGoSkinArcade · ไอคอนค่าเริ่มต้น
comic_light · comic_dark ใหม่ช่องหนังสือการ์ตูนที่วาดโดย GoStyleBoxComic: เส้นขอบหมึกหนาและเงาคมบนทุกหน้า ซึ่งหายไปเมื่อกด สวิตช์ ช่องทำเครื่องหมาย และปุ่มจับสไลเดอร์ตัดเส้นหมึกด้วย และหน้าต่างมีป้ายชื่อเรื่องสีเหลือง ความหนาของเส้นขอบ ขนาดของเงา และจะแสดงเงาหรือไม่ เป็นค่าตั้งค่าของ GoConfigGoSkinComic · ไอคอนค่าเริ่มต้น

ทั้งสิบสี่แบบ วางเทียบกัน

หน้าจอแกลเลอรีเดียวกัน เปลี่ยนแค่ชื่อพรีเซ็ต — โค้ดวิดเจ็ตไม่ต่างกันสักบรรทัด ทุกภาพคือมือถือที่ถือแนวตั้ง ขนาด 390×844

แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต default_dark
default_dark
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต default_light
default_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต scifi_dark
scifi_dark
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต scifi_light
scifi_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต medieval_dark
medieval_dark
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต medieval_light
medieval_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต material_light
material_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต material_dark
material_dark
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต kids_light
kids_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต kids_dark
kids_dark
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต comic_light
comic_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต comic_dark
comic_dark
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต arcade_light
arcade_light
แกลเลอรีวิดเจ็ตของ gohud ในพรีเซ็ต arcade_dark
arcade_dark

ยุคกลาง: เหล็ก หนัง และกระดาษหนัง

medieval_dark จับคู่เหล็กดำและหนังเข้ากับทองโบราณ ส่วน medieval_light ใช้กระดาษหนังและหมึก ทั้งคู่ใช้ GoSkinMedieval วิดเจ็ตชุดเดิม และไอคอนออริจินัล 16 ชิ้น ที่มีรายละเอียดลายสลัก ส่วนไอคอนนำทางย้อนกลับไปใช้ชุดเดิม

GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)
# หรือ: GoUi.use_preset(GoThemePresets.MEDIEVAL_LIGHT)

เลือกพรีเซ็ตก่อนสร้าง UI ทั้งนี้ค่า GoConfig.theme, skin หรือ icons ที่กำหนดไว้ตรง ๆ ยังคงมีอำนาจเหนือกว่าอยู่ดี เปิด res://addons/gohud/examples/medieval/medieval.tscn แล้วกด F6 เพื่อดูแผ่นข้อมูลตัวละคร ย่าม และสมุดบันทึกเควสต์ที่ใช้งานได้จริง ปุ่มในนั้นสลับตัวแปรของธีมและเปิดรายละเอียดไอเทมได้

หน้าตัวละคร กระเป๋าของ และเควสต์ ในธีมยุคกลางแบบเหล็ก
เหล็กและหนัง
หน้าตัวละคร กระเป๋าของ และเควสต์ ในธีมยุคกลางแบบกระดาษหนัง
กระดาษหนังและหมึก

กรอบเมนูมีหมุดย้ำและลวดลายมุมเล็ก ๆ ส่วน HUD ที่มองเห็นตลอดเวลายังคงมีขอบเรียบสงบ พลังชีวิต มานา และสตามินา ใช้สีแดง น้ำเงิน และเขียวมะกอกเป็นสีเติม Cinzel ถูกจำกัดไว้ที่หัวข้อและหัวข้อรอง ส่วนเนื้อความยังใช้ฟอนต์ของโปรเจกต์แม่หรือฟอนต์ค่าเริ่มต้น ฟอนต์ที่แถมมามีสัญญาอนุญาตอยู่ที่ assets/fonts/cinzel/OFL.txt

ชุดไอคอนสลักวาดใหม่ให้กับ bag, book, box, coin, crown, flag, heart, key, map, potion, shield, star, sword และ user แล้วเพิ่ม scroll กับ seal เข้ามา ชื่ออื่นทั้งหมดย้อนกลับไปใช้ชุดค่าเริ่มต้น close และ settings จึงคงภาพเดิมไว้ในทุกพรีเซ็ต Cinzel รองรับเฉพาะอักษรละติน ถ้าต้องการหัวข้อในภาษาอื่นให้กำหนดฟอนต์ของมันเองผ่าน shape.fonts

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

สร้างอาณาจักรของคุณเอง

python3 addons/gohud/tools/new_theme.py kingdom --from medieval_dark
# แก้ไข themes/palettes/kingdom.json แล้วสั่ง:
python3 addons/gohud/tools/make_theme.py kingdom
godot --headless --path . --import
# ใน GDScript ก่อนสร้างวิดเจ็ต:
GoUi.use_preset(&"kingdom")

ธีมแบบ JSON สืบทอดจากธีม JSON อื่นได้ ค่าที่ละไว้จะคงการตั้งค่าของธีมแม่ไว้ ส่วนการสืบทอดที่วนเป็นวงจะถูกปฏิเสธ พรีเซ็ตที่สร้างขึ้นจะใช้ชุดไอคอนของธีมแม่ต่อไป

การตั้งค่าผลที่ได้
shape.material0: เหล็ก · 1: หนัง · 2: กระดาษหนัง ควบคุมร่องรอยบนพื้นผิว
shape.grain_alphaความทึบของลายเนื้อวัสดุ ใส่ 0 เพื่อให้พื้นผิวเกลี้ยง
shape.ornament_scale · shape.bevel_strengthขนาดลวดลายมุมของเมนู และความเข้มของแสงไฮไลต์ตามขอบลาด
shape.fontsจับคู่บทบาท title, subtitle, caption, body และ button เข้ากับไฟล์ฟอนต์ res:// ที่อยู่ในแอดออน บทบาทที่ละไว้จะคงฟอนต์ที่สืบทอดมา
skin.dialsรัศมีของควิกสล็อต การแสดงหมุดย้ำ ลายเนื้อ และไฮไลต์ ตารางเต็มด้านล่างแจกแจงทุกค่าปรับ

Material 3: ลุคสำหรับหน้าจอแอป ใหม่

material_light และ material_dark นำ Material 3 Expressive มาสู่ gohud — รูปทรง ขนาด และตัวอักษร ของคอมโพเนนต์ M3 โดยทุกตัวเลขอ่านมาจากชุดโทเคน M3 อย่างเป็นทางการ (material-web, tokens/versions/latest) ใช้มันในที่ที่หน้าจอควรให้ความรู้สึกเป็นแอปมากกว่าเมนูเกม: ร้านค้า กล่องจดหมาย หน้าบัญชีและหน้าตั้งค่า กระดานผู้นำ แอปคู่หูของเกม

GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)
# หรือ: GoUi.use_preset(GoThemePresets.MATERIAL_DARK)
แกลเลอรีของ gohud ใน material_light — ปุ่มแคปซูล การ์ดแบบเติมสี และช่องกรอกแบบมีขอบ
material_light
แกลเลอรีของ gohud ใน material_dark
material_dark
ไดอะล็อกยืนยันใน material_light — มุม 28dp และปุ่มแคปซูลบนเกม
GoDialogs · material_light
ไดอะล็อกยืนยันใน material_dark บนเกม
GoDialogs · material_dark

อะไรเปลี่ยนไปบ้าง

ส่วนประกอบใน Material 3
ปุ่มทรงแคปซูล (มุมเต็ม) แผ่นปุ่มสูง 40dp จัดกึ่งกลางในพื้นที่กดสัมผัส 48dp พื้นที่กดจึงไม่หดลง แผ่นปุ่มของปุ่มแบบกะทัดรัดสูง 32dp ป้ายข้อความใช้ Roboto น้ำหนัก 500
ไดอะล็อกและชีตมุม 28dp (extra-large) ระยะขอบใน 24dp และหัวเรื่อง 24sp — GoDialogs, GoSurface, GoSheet และทุกป๊อปอัปที่สร้างอยู่บนพวกมัน
การ์ดการ์ดแบบเติมสี มุม 12dp ระยะขอบใน 16dp
ช่องกรอกและสไลเดอร์ช่องกรอกข้อความแบบมีขอบ และสไลเดอร์ Expressive ที่มีที่จับสูง
ชิปและปุ่มแบ่งส่วนมุม 8dp (small)
คอมโพเนนต์แอปGoNavBar, GoAppBar, GoFab, GoSearchBar, ชิป, GoProgress และ GoDatePicker เป็นไปตามโทเคนคอมโพเนนต์ของ M3
ตัวอักษรRoboto ที่แถมมา สำหรับหัวเรื่อง หัวข้อรอง คำบรรยาย และปุ่ม เนื้อความยังใช้ฟอนต์ของโปรเจกต์คุณ ภาษาเกาหลี ญี่ปุ่น จีน หรืออาหรับจึงยังแสดงได้
ความทึบทุกพาเนลทึบ — พื้นผิวของ M3 เป็นสีทึบ (พาเนลของค่าเริ่มต้น ไซไฟ และยุคกลางทึบ 80% จึงยังมองเห็นเกมผ่านได้)
สกินGoSkinMaterial: ดรอว์เออร์คือ modal side sheet ของ M3 หน้าคอนโซลคือ floating toolbar ของ M3 และแบนเนอร์วางอยู่บน surface_container_low
ตรงที่สเปกยอมหลีกให้ความอ่านง่าย M3 ทำให้ป้ายข้อความที่ปิดใช้งานจางเหลือ 38% แต่ gohud คงไว้ที่ 4.5:1 เพื่อให้ ยังอ่านออก สแน็กบาร์คงแผ่นพื้นสีอ่อนไว้ เพราะสีตัวอักษรของมันเป็นโทเคนที่วิดเจ็ตเป็นผู้เลือก — แผ่นพื้นแบบกลับสี จะทำให้ตัวอักษรเข้มอยู่บนพื้นเข้ม tools/check_contrast.py วัดทั้งสองลุคเหมือนกับลุคอื่นทุกตัว

Roboto อยู่ภายใต้สัญญาอนุญาต SIL Open Font License 1.1 (assets/fonts/roboto/OFL.txt) และใช้เฉพาะ ในพรีเซ็ต Material เท่านั้น

สำหรับเด็ก: กล่องของเล่น ใหม่

kids_light (สีครีมและพีช พร้อมสีหลักสีองุ่น) และ kids_dark (พื้นสีบลูเบอร์รี สีหลักเหลืองแดด และแคปซูลสีมินต์) คือลุคที่ทำมาสำหรับเกมเด็กและแอปการเรียนรู้ — อวบ สดใส และนุ่มนิ่ม แบบที่นิ้วเล็ก ๆ อยากกดลงไป

GoUi.use_preset(&"kids_light")
# หรือ: GoUi.use_preset(&"kids_dark")
แกลเลอรีของ gohud ใน kids_light — ปุ่มลูกอมเยลลี่สีเทียน
kids_light
แกลเลอรีของ gohud ใน kids_dark — กล่องของเล่นบนหน้าสีน้ำเงินยามค่ำคืน
kids_dark
ไดอะล็อกยืนยันใน kids_light — ริบบิ้นชื่อเรื่องสีแดดสดใสและปุ่มปิดลูกอมทรงกลม
GoDialogs · kids_light
ไดอะล็อกยืนยันใน kids_dark — ริบบิ้นชื่อเรื่องสีมินต์และปุ่มปิดลูกอม
GoDialogs · kids_dark

อะไรเปลี่ยนไปบ้าง

ส่วนประกอบในลุคสำหรับเด็ก
ทุกหน้าลูกอมเยลลี่ที่วาดโดย GoStyleBoxJelly: ขอบหนาอวบ ฐานทึบใต้ทุกสิ่งที่กดได้ ตัวที่ด้านบนสว่างกว่าและด้านล่างเข้มกว่า และประกายสีขาวที่มุมซ้ายบน ปุ่ม แถวรายการ หัวข้อที่พับได้ ช่องกรอก แถบ สไลเดอร์ และพาเนล ใช้มันทั้งหมด
การกดฐานหายไปและหน้าปุ่มยุบลงแทนที่ จากนั้นยุบนุ่มแบบเยลลี่ — กว้างและแบนชั่วครู่ แล้วเด้งกลับอย่างยืดหยุ่น ทำงานกับทุกปุ่มที่ gohud สร้าง และ reduce_motion ปิดมันได้
ช่องกรอก แท็บ แถบช่องกรอกข้อความคือเยลลี่เดียวกันที่กลับด้านเข้าไป — เป็นหลุมที่ยุบลง แท็บเป็นฟองสบู่ แถบมีประกายแบบเยลลี่
สีคอนโทรลแต่ละชนิดมีสีเทียนของตัวเอง ซึ่งเลือกโดยตัวสร้างตัวเดียวกับทุกลุค เกณฑ์คอนทราสต์ทุกข้อจึงยังผ่าน
หน้าต่างริบบิ้นสีแดดสดใส (สีมินต์ตอนกลางคืน) หลังชื่อเรื่องของหน้าต่าง — ชื่อเรื่องย่อลงได้ถึง 15 เพื่อให้อยู่ในบรรทัดเดียว — และปุ่มปิดลูกอมทรงกลมในสีเทียนโทนอันตรายพร้อมกากบาทสีขาว
ส่วนของสกินGoSkinKids: ควิกสล็อตเป็นก้อนลูกอมที่ยุบลงระหว่างคูลดาวน์ ป้ายเป็นสติกเกอร์ ชิปและแคปซูลนำทางเป็นเยลลี่ชิ้นเล็ก อวาตาร์เป็นลูกอมกลม จอยสติ๊กเป็นสีรุ้ง แผนภูมิใช้สีเทียน กล่องแจ้งเตือนและข้อความแจ้งเตือนเป็นโน้ตสติกเกอร์ที่มีขอบทึบ
ความทึบพาเนล การ์ด ข้อความแจ้งเตือน และป๊อปอัป ทึบทั้งหมด
ขนาดไม่เปลี่ยน ขอบและฐานถูกวาดภายในสี่เหลี่ยมของคอนโทรลแต่ละตัว และทุกหน้ายังคงระยะขอบในที่ธีมกำหนดไว้ หน้าจอที่จัดวางไว้ในลุคอื่นจึงคงเลย์เอาต์เดิม และโฮสต์ที่ตรึงขนาดเองก็วัดได้ส่วนเดิม ฟอนต์ของโปรเจกต์คุณก็ถูกเก็บไว้ เช่นกัน อักษรที่ไม่ใช่ละตินจึงยังแสดงได้
ควิกสล็อต จอยสติ๊ก และชิป ในทุกสกิน — ค่าเริ่มต้น สำหรับเด็ก Material ยุคกลาง และไซไฟ
ส่วนที่สกินวาด — แถวของลุคสำหรับเด็กคือแถวที่สอง

สร้างกล่องของเล่นของคุณเอง

python3 addons/gohud/tools/new_theme.py candy --from kids_light
# แก้ไข themes/palettes/candy.json แล้วสั่ง:
python3 addons/gohud/tools/make_theme.py candy
GoUi.use_preset(&"candy")

การ์ตูน: หมึกหนาเข้ม ใหม่

comic_light (พาเนลสีขาวบนหน้าสีครีมแบบกระดาษ สีหลักสีน้ำเงินโคบอลต์) และ comic_dark (พาเนลสีหินชนวนบนหน้ายามค่ำคืน เส้นขอบสีครีม สีหลักสีเหลือง) วาดทุกหน้าเหมือนช่องหนังสือการ์ตูน — เส้นขอบหมึกหนาพร้อมเงาคม อยู่ด้านหลัง

GoUi.use_preset(&"comic_light")
# หรือ: GoUi.use_preset(&"comic_dark")
แกลเลอรีของ gohud ใน comic_light — ปุ่ม แถว และแถบตัดเส้นหมึกพร้อมเงาคม
comic_light
แกลเลอรีของ gohud ใน comic_dark — หมึกสีครีมบนหน้ายามค่ำคืน
comic_dark
ไดอะล็อกยืนยันใน comic_light — ป้ายชื่อเรื่องสีเหลืองและปุ่มปิดทรงกลมตัดเส้นหมึก
GoDialogs · comic_light
ไดอะล็อกยืนยันใน comic_dark — ป้ายสีเหลืองบนการ์ดสีหินชนวน
GoDialogs · comic_dark

อะไรเปลี่ยนไปบ้าง

ส่วนประกอบในลุคการ์ตูน
ทุกหน้าวาดโดย GoStyleBoxComic: สีพื้นผิวอยู่ภายในเส้นขอบหนาสีหมึก และเงาคมที่ทอดลงด้านล่างขวา ปุ่ม แถวรายการ ช่องกรอก แท็บ แถบ สไลเดอร์ พาเนล และป๊อปอัป ใช้มันทั้งหมด
การกดเงาหายไปและหน้าปุ่มยุบลงแทนที่
ตัวควบคุมสวิตช์ ช่องทำเครื่องหมาย ปุ่มตัวเลือก และปุ่มจับสไลเดอร์ก็ตัดเส้นหมึกเช่นกัน แต่ละตัวมีเงาเล็ก ๆ ของตัวเอง
หน้าต่างป้ายสีเหลืองหลังชื่อเรื่องของหน้าต่าง และปุ่มปิดทรงกลมตัดเส้นหมึก
ส่วนของสกินGoSkinComic: ควิกสล็อต ชิป ป้าย อวาตาร์ ข้อความแจ้งเตือน แถบนำทาง FAB และช่องวันที่ตัดเส้นหมึก ปุ่มจอยสติ๊กทอดเงา แผนภูมิใช้แม่สีสดเข้ม
ความทึบพาเนล การ์ด ข้อความแจ้งเตือน และป๊อปอัป ทึบทั้งหมด การ์ด HUD ทึบ 92%

การตั้งค่าหมึกและเงา

ค่าตั้งค่า GoConfig สามค่าเปลี่ยนทุกหน้าแบบการ์ตูนพร้อมกัน ไม่มีอะไรต้องสร้างใหม่ — หน้าจอวาดใหม่ทันทีที่คุณตั้งค่า

GoUi.config.comic_border_width = 2.0   # เส้นขอบ (dp) — ค่าเริ่มต้น 3
GoUi.config.comic_shadow_size = 6.0    # เงา (dp) — ค่าเริ่มต้น 4
GoUi.config.comic_shadow = false       # ไม่มีเงาที่ไหนเลย

วิดเจ็ตตัวเดียวเลือกทางของตัวเองได้ ไม่ว่าค่าตั้งค่าจะเป็นอย่างไร:

GoStyle.comic_shadow(skip_button, false)     # ปุ่มนี้แบนราบ
GoStyle.comic_shadow(card, true, true)       # การ์ดนี้และทุกอย่างข้างในยังมีเงา
GoStyle.comic_border(title, 5.0)             # เส้นขอบหนาขึ้นสำหรับตัวนี้
ขนาดไม่เปลี่ยน เส้นขอบและเงาถูกวาดภายในสี่เหลี่ยมของคอนโทรลแต่ละตัว และทุกหน้ายังคงระยะขอบในที่ธีมกำหนดไว้ หน้าจอที่จัดวางไว้ในลุคอื่นจึงคงเลย์เอาต์เดิม ฟอนต์ของโปรเจกต์คุณก็ถูกเก็บไว้เช่นกัน
ควิกสล็อต จอยสติ๊ก และชิป ที่วาดโดยสกินการ์ตูน
ส่วนที่สกินการ์ตูนวาด

สร้างการ์ตูนของคุณเอง

python3 addons/gohud/tools/new_theme.py inked --from comic_light
# แก้ไข themes/palettes/inked.json แล้วสั่ง:
python3 addons/gohud/tools/make_theme.py inked
GoUi.use_preset(&"inked")

อาร์เคด: ปุ่มลงสีและบอร์ดหนา ใหม่

arcade_light (บอร์ดสีขาวบนหน้าสีฟ้าท้องฟ้า) และ arcade_dark (บอร์ดสีกรมท่าบนหน้ายามค่ำคืน) แต่งทุกหน้าจอให้เหมือนตู้เกมอาร์เคด: ทุกปุ่มถูกลงสี — ไล่เฉดจากด้านบนที่สว่างไปยังด้านล่างที่เข้มกว่า มีเส้นเงาสะท้อนสีขาว และฐานที่ยุบลงเมื่อกด ภายในเส้นขอบหมึกสีกรมท่า — และทุกบอร์ดมีความหนา เป็น กรอบสีล้อมรอบแอ่งสีอ่อน

GoUi.use_preset(&"arcade_light")
# หรือ: GoUi.use_preset(&"arcade_dark")
แกลเลอรีของ gohud ใน arcade_light — ปุ่มลงสีเขียว น้ำเงิน แดง และลาเวนเดอร์ กับบอร์ด HUD กรอบสีน้ำเงินบนหน้าสีฟ้าท้องฟ้า
arcade_light
แกลเลอรีของ gohud ใน arcade_dark — ปุ่มสีสดชุดเดียวกันบนหน้ายามค่ำคืน
arcade_dark
ไดอะล็อกยืนยันใน arcade_light — แถบชื่อเรื่องสีทอง ปุ่มปิดทรงกลมสีแดง และปุ่มลงสีน้ำเงินกับเขียวบนบอร์ดที่มีกรอบ
GoDialogs · arcade_light
ไดอะล็อกยืนยันใน arcade_dark — แถบสีทองบนบอร์ดสีกรมท่า
GoDialogs · arcade_dark

อะไรเปลี่ยนไปบ้าง

ส่วนประกอบในลุคอาร์เคด
ปุ่มวาดโดย GoStyleBoxArcade: ตัวไล่เฉดสี เงาสะท้อนสีขาวรอบมุมบนซ้าย ฐานที่เข้มกว่า และเส้นขอบหมึกสีกรมท่า ปุ่มหลักเป็นสีเขียว ปุ่มทั่วไปและแท็บที่เลือกเป็นสีน้ำเงิน ปุ่มอันตรายเป็นสีปะการังและสีแดง ปุ่มเล็กและแท็บอื่น ๆ เป็นสีลาเวนเดอร์
ป้ายข้อความสีขาวตัดเส้นหมึกบนทุกปุ่มที่ลงสี ทุกสีจะถูกปรับจนป้ายข้อความนั้นอ่านออกที่ทุกระดับความสูงของการไล่เฉด — 4.6:1 ขึ้นไป โดยนับเส้นขอบเป็นส่วนหนึ่งของตัวอักษรตามแบบของ WCAG
การกดฐานหายไป ปุ่มยุบลงแทนที่แล้วเด้งกลับขึ้นมา
บอร์ดพาเนล การ์ด การ์ด HUD และป๊อปอัป มีความหนา: กรอบสี (6dp รอบหน้าต่าง 4 รอบการ์ดหรือการ์ด HUD 3 รอบเมนูหรือข้อความแจ้งเตือน) ที่มีเงาสะท้อนและฐานของตัวเอง ล้อมรอบแอ่งสีอ่อนที่มีเส้นหมึก ระยะขอบในจึงเพิ่มขึ้นเล็กน้อยเพื่อรองรับ ข้อความจึงไม่แตะกรอบเลย
ช่องกรอกและแถบช่องกรอกข้อความและร่องของแถบเป็นแอ่งเว้าลึก ส่วนที่เติมของแถบเป็นหลอดลงสีเงาวาวในสีเติมสดของสีนั้น
หน้าต่างแถบสีทองพร้อมชื่อเรื่องสีขาวตัดเส้นหมึก และปุ่มปิดทรงกลมสีแดงที่มีกากบาทสีขาว
ส่วนของสกินGoSkinArcade: ควิกสล็อตและชิปเป็นหัวปุ่ม สล็อตที่กำลังคูลดาวน์จะมีขอบสีทองสว่างขึ้น ป้ายเป็นแผ่นสีอ่อน กล่องแจ้งเตือนมีกรอบตามสีของมัน การ์ดที่เลือกจะมีขอบสีทองสว่างขึ้น FAB เป็นปุ่มสีทอง และจอยสติ๊กเป็นแผ่นรองเงาวาวที่มีลูกศรสี่ทิศ
ความทึบพาเนล การ์ด ข้อความแจ้งเตือน และป๊อปอัป ทึบทั้งหมด การ์ด HUD ทึบ 94%

ลงสีปุ่มเดียวด้วยสีของมันเอง

ธีมลงสีปุ่มตามชนิดของมัน เมนูที่อยากให้แต่ละปุ่มมีสีของตัวเองจะลงสีทีละปุ่ม — หน้าปุ่มตอนโฮเวอร์ จะสว่างขึ้นเล็กน้อย ตอนกดจะเข้มขึ้นเล็กน้อย และหน้าปุ่มที่ปิดใช้งานยังคงหม่น:

menu.add_child(GoStyle.arcade_paint(GoStyle.button("Resume", _resume, GoStyle.Tone.PRIMARY), Color("#4ACB3E")))
menu.add_child(GoStyle.arcade_paint(GoStyle.button("Shop", _shop), Color("#FF8A1E")))
GoStyle.arcade_paint(stage_card, Color("#E3343D"), true)   # กรอบของบอร์ด และทุกปุ่มที่อยู่ข้างใน
ป้ายข้อความอ่านออกเสมอ สีที่ทำให้ป้ายข้อความสีขาวอ่านไม่ออกจะถูกปรับให้สว่างขึ้นหรือเข้มขึ้นจนอ่านออก สีที่คุณส่งเข้าไปจึงเป็นเพียงจุดเริ่มต้น ภายใต้ลุคอื่น arcade_paint() จะไม่ทำอะไรเลย
ปุ่มคงขนาดเดิม ฐานและเงาสะท้อนถูกวาดภายในสี่เหลี่ยมของแต่ละปุ่ม หน้าจอที่จัดวางไว้ใน ลุคอื่นจึงคงเลย์เอาต์เดิม บอร์ดเพิ่มระยะขอบในให้เนื้อหามากขึ้นเล็กน้อย (การ์ดและการ์ด HUD 12dp ด้านล่าง 15) เพื่อไม่ให้ข้อความแตะกรอบ ฟอนต์ของโปรเจกต์คุณก็ถูกเก็บไว้เช่นกัน
ควิกสล็อต จอยสติ๊ก และชิป ที่วาดโดยสกินอาร์เคด — หัวปุ่มเงาวาวและแผ่นรองที่มีลูกศรสี่ทิศ
ส่วนที่สกินอาร์เคดวาด

สร้างอาร์เคดของคุณเอง

python3 addons/gohud/tools/new_theme.py cabinet --from arcade_light
# แก้ไข themes/palettes/cabinet.json — สี *_vivid คือสีที่ใช้ลงปุ่ม — แล้วสั่ง:
python3 addons/gohud/tools/make_theme.py cabinet
GoUi.use_preset(&"cabinet")