Я пытаюсь сделать простую игру.У меня есть класс для экранного буфера, класс для изображений и класс для спрайтов.У меня такой вопрос:
Так как каждый спрайт должен «принадлежать» к некоторому изображению (спрайт содержит только координаты в пределах некоторого изображения и указатель / ссылку на изображение), я должен передать класс изображения конструктору спрайта, например, так:
Sprite spriteInstance(imageInstance, rect, ...);
или получить спрайты, возвращаемые методом класса изображения
Sprite spriteInstance = imageInstance.createSprite(rect, ...);
, или это зависит от личных предпочтений.(оба, очевидно, работают, мне просто интересно, считается ли один «правильный» или «профессиональный» способ сделать это.)
То же самое относится к изображению /Отношение экрана: Если поверхность будет возвращена экраном или изображение пропустит экран.
Третий вариант, который я еще не пытался реализовать, - это иметь класс "Game" и сделать это.:
Game gameInstance;
Image imageInstance = gameInstance.loadImage(path);
Sprite spriteInstance = gameInstance.newSprite(imageInstance, rect, ...);
Если второй / третий методы, описанные выше, рекомендуются, должен ли конструктор класса sprite быть закрытым с классом изображения как «друг» или оставлен как открытый?И есть ли у этого типа метода имя, которое я могу найти для дальнейшего понимания?Это то, что называется «Фабричный шаблон»?
Спасибо