【发布时间】:2020-07-14 08:48:18
【问题描述】:
我已经完成了游戏逻辑的实现,现在是时候将其可视化了——为此我选择了 SFML。但是,我一团糟:如何避免硬编码游戏对象的坐标来制作整个系统:
- 可调整大小;
- 就其视觉部分和系统而言可轻松移动;
- 自适应任何合理的屏幕尺寸?
此外,我想知道在“真实”游戏和其他应用程序中使用了哪些方法。我想出的最佳解决方案是:
-
class Screen_promille由游戏逻辑操作,用于存储x和y作为屏幕使用部分的intpromilles(例如{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用于后者的实现。
应该^足够聪明?
P。 S.:
- 我没有使用任何游戏引擎:我希望在没有它们的情况下完成当前项目;
- 我知道 SFML 类型定义。 :) 我把它们放在一边,让更多的观众看到。
【问题讨论】:
标签: c++ 2d coordinates sfml game-development