0

Я должен представить презентацию в своей игре на Android в пятницу и просто хотел узнать, где именно MVC используется в моей игре. Сейчас она использует 4 класс: MyGdxGame, геймобжектов (аннотация) игрока (расширяет GameObject, реализует inputProcessor) Платформы (расширяет GameObject)Очень простая игра LibGDX - где моя модель, просмотр и контроллер?

Игрок прыгает, когда экран касание или дефис, когда экран перетаскивается.

Так что прямо сейчас я знаю, что этот плеер является моим Модель.

Я предполагаю MyGdxGame мой Посмотреть (2 метода - создать() и Render())

Где мой контроллер? Также я применил шаблон Observer/Obsable с помощью InputProcessor в Player? Вот пример того, как я использовал его:

@Override 
public boolean touchDragged(int screenX, int screenY, int pointer) { 
    if (isDragged == false && allowDash == true) { 
     isDragged = true; 
     dash(); 

    } 
    isDragged = false; 
    setxSpeed(4.6f); 
    return false; 
} 

Любое понимание высоко ценится (и заранее спасибо)

+0

Хорошо, если Player реализует входной процессор, я бы предположил, что это ваш контроллер. И здесь недостаточно кода для разумной оценки того, правильно ли разделена архитектура, и в этом случае я думаю, что правильное место, чтобы спросить, будет ли это на codereview.stackexchange.com – EpicPandaForce

+0

Привет, спасибо за быстрый ответ. Входнойпроцессор является слушателем, хотя есть причина, почему это контроллер, а не наблюдатель? Также мне нужно, чтобы моя модель, просмотр и контроллер были все в отдельном классе, чтобы считать его реализацией MVC? – DeuceDeuce

ответ

0

имеют Кроме того, я реализовал Observer/наблюдаемую картину с помощью InputProcessor в проигрывателе?

В целом да. Слушатели обычно реализуют шаблон Observable. Помните, что эти шаблоны дизайна не заданы в камне и в большей степени похожи на «рекомендации», но я предполагаю, что вам нужно показать доказательства шаблонов дизайна в вашем коде для школы или того, что вы делаете в пятницу. То, что я пытаюсь сказать, не реализует шаблоны проектирования для реализации шаблона проектирования.

В проекте андроида файлы activity.java обычно рассматриваются как контроллеры для шаблона проектирования MVC, файлы xml представляют собой представление, а другие java-файлы - это модель.

Но в вашем случае с libgdx вы считаете правильным, что Player является моделью, а MyGdxGame - это вид. Контроллер можно рассматривать как входной процессор, как предлагается EpicPandaForce, или в основном любой другой раздел вашего кода, где пользователь конкретно использует этот код для управления моделью.