Разработка игры #2 (верстка интерфейса)

Blog Image
March 1, 2019, 9:22 p.m.
Tags:
  • содание, игры

И так, наконец то я закончил отрисовку интерфейса а провел всю логику отображения компонентов в фигме. В конечном итоге выглядит вот так:

На вид, как по мне, довольно устрашающе :D Так как я понимаю, что это всё еще нужно как то отобразить.

Далее я встретился с другой проблемой - СЦЕНЫ. Я вспомнил, что в идеале я должен удалять и создавать сцены. С этим я помучался от души. Ибо нормальных мануалов я не нашел как это делается, а брать готовую либу под сцены я не захотел из соображения лени в её изучении :D

Долго помучившись и по эксперементируя я научился динамически удалять и создавать контейнеры, а так же с нуля рендерить в них содержимое. То что нужно! Я спокойно могу сделать 2 основных контейнера, в одном будет у меня лобби, а в другом протекать сама игра. И редерить я момент игры могу как раз таки по входящим параметрам при этом полностью выгружая из памяти лобби и наоборот. Всё звучит круто. И на тестах с примитивами я понял что это не сложно.

Но дальше началось самое для меня сложное. Отрисовка интерфейса. Тут я особо похвастаться не могу, потому что оно сейчас выглядит как то вот так:

С размерами окна я схитрил, лобби выглядит ВСЕГДА 16/9. Зачем? Ну так мне как минимум будет по проще с вёрсткой. К слову о верстке, всё отрисовывается только через Pixi.JS, никакого CSS и HTML. Да, я знаю, что это веб и можно было так, но это путь не самурая :D

Кстати нажав F11 на ноуте, оно встаёт ровно 1 к 1 с моим моником, я по сути доволен. Синий фон для дебага, но пусть будет, он мне напоминает о временах Win98 :3

По сути, что я имею, JavaScript класс в 115 строк кода, который отрисовывает то, что видно на скрине выше =\ Буквально недавно я вспомнил про такую штуку как Анчёры... и загрустил, но возможно это спасёт мне жизнь, так как расчитывать математически положение каждого элемента не есть хорошо. Скорее всего придётся писать некий GUI фреймворк под это все. Но я пока до этого не дошел, скорее всего потому что еще не достаточно натра*ался :D

 

Ну пока на этом всё, спасибо за внимание, сам с нетерпением жду, когда смогу написать следующую новость)) Пока ;)