Как правильно реализовать архитектуру GUI игры, рассчитанной на различные разрешения?
Пилю свой небольшой пет проект на Phaser.js, хочу адаптировать его для разных разрешений и, желательно, для динамического ресайза. Как его гуй должен выглядеть, я примерно представляю, меня интересует, как его правильно сделать с точки зрения архитектуры приложения. Движок для этого практически не предоставляет каких-то встроенных возможностей. Пока что у меня получаются странные и уродливые костыли. Возможно, где-то есть книга или статья, которая поможет мне достигнуть просветления?
> Ресайз будет сильно есть ресурсы
А за счёт чего, собственно? Он же будет производиться не постоянно, а единичными акциями. Допустим, я тыкнул кнопку "развернуть во весь экран". Отресайзился родительский элемент канваса. Phaser отресайзил канвас. Некий алгоритм передвинул/отскейлил все элементу гуёв. И всё, дальше игра работает в штатном режиме до следующего ресайза. Или я что-то не учитываю?
twobomb, ну, это-то понятно. Вопрос в том, как это не превратить в адовый спагетти-код.
Я затрудняюсь сформулировать свой вопрос как-то более конкретно, именно поэтому прошу ссылку на статью/книгу по сабжу. Чувствую, что у меня не хватает понятийного аппарата, чтобы выдать правильную формулировку, и надеюсь этот понятийный аппарат вместе с ответом на вопрос откуда-нибудь приобрести.
Sirion, кстате если рисовать адаптивно нужно только UI. Пришла в голову тупая идея, у нас есть основной канвас на котором игра рисуется, и несколько канвасов наложенных сверху на которвых, UI. Рисуем UI на всех, а отображение их делаем на CSS с помощью media и display:block/none