gohud

Форми, якими ігри справді користуються

← Віджети

Знайомі з вебу форми, перебудовані навколо того, що потрібно від них грі.

GoRewardCalendar — щоденна відвідуваність

Вибирач дати в грі майже ніколи не стає в пригоді. А от форма календаря — так, для нагород за відвідування, де важить який у вас день поспіль, а не яке сьогодні число.

var attendance := GoRewardCalendar.make(days, claimed_until)
attendance.claimed.connect(func(day: int) -> void: server.claim_day(day))

Натиснути можна лише сьогоднішню комірку — кнопка, яка у відповідь на натискання нічого не робить, читається як зламана. Отримані, сьогоднішній і майбутні відрізняються трьома речами заразом: гліфом галочки, акцентною рамкою та притемненням.

GoRadar і GoDonut — характеристики з одного погляду

var stats := GoRadar.make({"STR": 0.85, "AGI": 0.5, "INT": 0.3, "VIT": 0.7, "LUK": 0.45})
stats.set_compare(with_new_sword)          # пунктирний шар зверху

var share := GoDonut.make([{"label": "Фізична", "value": 620}, {"label": "Магічна", "value": 340}])
card.add_child(share.legend())

Значення радара — від 0 до 1, бо те, що вважати повнотою, вирішує гра: сирі 120 STR поруч із 45 INT намалювали б неправду. Значення пончика сирі, і він ділить їх за вас; після п'ятого сектора решту він згортає, бо шостий сектор — це нитка, якої ніхто не прочитає. Лінія порівняння пунктирна, а не просто іншого кольору, а легенда виписує відсоток словами.

GoCarousel — банери та вибір персонажа

banners.set_pages([promo, event, pack])
banners.autoplay_seconds = 5.0             # типово вимкнено

Сам він не гортає, доки ви не попросите, і п'ять секунд — це нижня межа: банер, що змінюється кожні три, забирає текст раніше, ніж його прочитають. Дотик скидає таймер, а з увімкненим reduce_motion він не гортає сам ніколи. Крапки натискаються на мінімальній площі дотику, хоч намальована крапка й маленька.

GoKbd — підказки клавіш, які не брешуть

hint.add_child(GoKbd.for_action(&"interact"))   # читає справжню прив'язку

Жорстко вписане «Натисніть F» каже F і далі, коли гравець перепризначив клавішу, — найпоширеніша неправда в інтерфейсі на ПК. for_action() читає InputMap; якщо дія натомість прив'язана до геймпада, він повертає порожнє, і віджет ховається, бо «Немає» було б неправдою вже саме собою. На Android та iOS він ховається сам.