Я закончил реализацию игровой логики c, теперь пришло время визуализировать ее - я выбрал SFML для этой цели. Однако я в беспорядке: как мне избежать жесткого кодирования координат игровых объектов , чтобы сделать всю систему:
- изменяемого размера;
- удобно подвижный с точки зрения его визуальных частей и систем единиц;
- самоадаптирующийся для любого разумного размера экрана?
Кроме того, мне интересно , какие методы используются в «реальном» "игры и другие приложения . Лучшее решение, которое я придумал, это:
class Screen_promille
, управляемый игровыми логами c для хранения x
и y
в виде int
профилей использованной части экран (например, {500, 500}
- это центральная точка, а {999, 999}
- правая нижняя); функция sf::Vector2<float> convert_to_pixels(Screen_promille const)
для получения фактической позиции на экране (возможно, прямо перед рисованием); или, возможно, вместо этого сделайте Screen_promille::operator sf::Vector2<float>()
; sf::Rect<float> const used_screen
для реализации последнего.
Должно ли это быть * достаточно мудрым ?
PS:
- Я не использую игровые движки: я хочу, чтобы текущий проект был выполнен без них;
- Я знаю о SFML typedefs. :) Я оставил их в стороне для более широкой аудитории.