Я пытаюсь создать маленькую игру, используя C # и XNA, перед тем как начать, я хотел убедиться, что этот подход имеет смысл:
По сути, я хочу создать класс GameObject, который содержит все элементы, общие для всего, что я собираюсь нарисовать на экране, будь то оружие, монстр, человек, пикап и т. Д.
Так что я подумал, что мне следует создать абстрактный класс GameObject со свойствами, чтобы установить Texture2D, местоположение Vector2, метод Draw () и метод Move ().
Кроме того, поскольку у меня есть Люди и Монстры, я мог бы создать базовый класс с названием Biped или аналогичный и присвоить ему свойство AttackBehavior (которое само по себе является классом), чтобы затем я мог создавать различные методы атаки (Люди атакуют монстров). , Монстры атакуют людей). Я бы использовал абстрактную реализацию метода Move () в своем классе GameObject, чтобы я мог переопределить его для предметов, которые не двигаются (оружие и т. Д.) И назначать разные скорости движения, шаблоны и т. Д. Моим Людям и монстрам.
Итак, мои вопросы:
- Имеет ли смысл этот шаблон проектирования? Я читал шаблоны проектирования Head First и читал о создании объектов (отсюда мой объект AttackBehavior)
- Какой тип кода я должен добавить в мой Game1.cs? Должно ли это быть 'View' в шаблоне MVC?