Конечный автомат управления графическим интерфейсом - PullRequest
0 голосов
/ 19 октября 2018

Я уже несколько месяцев работаю над собственной системой графического интерфейса (на Java).Я создал пошаговую игру, события могут запускаться только игроком или ИИ, последовательно .Я создал график, содержащий ячейки, содержащие grosso modo ScreenComponents (такие как прокрутка текста с подсказкой, изображения, циклическая анимация, ограниченная анимация).Клетки были связаны между собой с помощью ключевого кода.Это работало просто отлично, я думал, что у меня хорошая идея, но отсутствие ответов в сети заставляет меня думать, что я сделал что-то не так, на бумаге, это круто, потому что, если игрок не делает что-то, значит, он использует практически нулевой процессор.
Так может ли кто-нибудь дать мне имя (если оно есть, я очень на это надеюсь) того, что я пытаюсь сделать?Я спросил своих учителей, что никто не смог мне помочь.

1 Ответ

0 голосов
/ 21 октября 2018

Идея выполнения работы в ответ на взаимодействие с пользователем или другие внешние события известна как программирование на основе событий (https://en.wikipedia.org/wiki/Event-driven_programming)) и является стандартной для графических приложений, особенно игр.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...