Я занимаюсь разработкой симулятора трехмерного мира (www.athpro.com), и внутренне он обрабатывает все игровые тайлы (гексы) размером 1,0 x 1,0 единица измерения. Пользовательский интерфейс полностью отделен и отвечает за «масштабирование» данных. Мировые данные аналогичны векторному изображению. Теперь у меня есть помощник, который берет данные мира и передает их в пользовательский интерфейс для рендеринга. Я задаюсь вопросом ... было бы проще ... и более разумно, чтобы Помощник также не знал о масштабах и оставлял масштабирование исключительно на плечах пользовательского интерфейса?
В XNA вы можете просто визуализировать все в собственном масштабе (1x1) (что, вероятно, будет намного меньше, чем вы хотели бы для своего игрового мира) и использовать матричное преобразование, чтобы масштабировать его до любого желаемого вами фактора. за один проход, верно? Это одна из причин, по которой я думаю оставить это в интерфейсе.
Это также помогает Helper намного чище, чтобы он не масштабировал каждый вектор и т. Д. Все объекты передаются через интерфейсы со свойствами get-only, поэтому в моей DLL-библиотеке Helper мне нужно создавать реализации каждого по порядку. просто увеличить его значения. Похоже, много беспорядка и накладных расходов на то, что может быть проще в пользовательском интерфейсе.
Я знаю, что это странный вопрос, но я бы с удовольствием посоветовался с вами. Я особенно ценю вклад разработчиков игр.
Спасибо!