У меня есть общий вопрос об простой игровой архитектуре. В моей игре у меня есть следующие классы:Libgdx: Объекты, создающие другие объекты
- Главный класс, который несет ответственность за рисование и рендеринг.
- Объект Ball, который имеет несколько атрибутов и функцию update(), которая выполняет определенные действия.
Главный класс имеет массив всех существующих экземпляров шара, а функция render() отвечает за все их вызовы и вызывает их update(). Кроме того, основной класс имеет функцию createBall(), которая создает другой экземпляр.
Скажем, один из экземпляров хочет создать еще один мяч в игре (через его обновление()). Какой путь правильный способ сделать это:
- Каждый мяч попадает в его конструктор экземпляра класса Main (Основной класс передает ему себя к мячу при его создании) и вызывает main.createBall();
- Каждый шар имеет массив «запросов», которые основной класс читает и понимает, что мяч хочет создать.
Это должен быть общий вопрос, потому что он определяет способ взаимодействия экземпляров с основным классом.
Спасибо!
ОК, и экземпляр Ball вызовет BallFactory.addRequest() (который добавляет массив запросов, которые имеет BallFactory), и главный класс будет проходить через массив в render() и создавать экземпляры в соответствии с запросами ? –
На самом деле, почему бы не вызвать Main вызов метода на BallFactory для обработки списка? Таким образом, в Main не нужно иметь никакого дополнительного кода. Итак ... Ball будет вызывать addRequest(), а Main будет вызывать processRequests() –
Так что в основном processRequests() вызовет main.createBall() в соответствии с его личным списком запросов? –