Если у вас есть приложение с графическим интерфейсом, полностью работающим над 2D-рисунком, какая должна быть лучшая практика для обработки того, что нужно рисовать и куда прикасаться?Наилучшая практика: шаблон проектирования для 2D-навигации на экране HUD
Пример для лучшего понимания:
У меня есть игра с картой. На этой карте я могу строить дома и прочее.
У меня также есть информационная панель, которая может быть расширена. На расширенном баре я рисую некоторую информацию об игре, а также предлагает интерфейс для изменения разных значений. Если возникает прикосновение, я должен проверить, расширена ли информационная панель или нет, чтобы определить, хочу ли я что-то изменить на карте или что-то на панели.
Это сделано по шаблону штата, но у меня есть некоторые сомнения, если это правильно, потому что я думаю, что это может быть немного сложным из-за возможных «под-состояний».
Так что в основном вопрос: является ли шаблон состояния (от GoF) наилучшей практикой для обработки чистого графического интерфейса?
Это то, что я сделал, чтобы создавать и размещать вещи на карте, но это не полный ответ для меня. Как насчет состояний, которые определяют, если ограничивающая ячейка даже активна? В вашем случае я должен обрабатывать несколько состояний для каждого объекта управления. В настоящее время я пытаюсь адаптировать шаблон активности android для моего случая. Каждый отдельный «экран» имеет свою собственную реализацию состояния с помощью 'onTouch(), onDraw(), onStateChange()' – WarrenFaith
. Большинство систем пользовательского интерфейса также будут иметь «видимые» или «разрешенные» состояния, которые могут быть установлены для данного виджета. Отключение его предотвратит получение кликов. После этого хост сохраняет это включенное состояние синхронно с фоновым игровым состоянием, которое влияет на него. Системы событий могут помочь там. – munificent
это звучит лучше ... Я постараюсь реализовать его таким образом. спасибо – WarrenFaith