2D“游戏”开发:游戏逻辑和绘画的坐标

问题描述 投票:1回答:1

我已经完成了游戏逻辑的实现,现在是时候将其可视化了-我为此选择了SFML。但是,我一团糟:如何避免对游戏对象的坐标进行硬编码来制作整个系统:

  • 可调整大小;
  • 就其视觉部分和部分系统而言,是舒适地可移动的;
  • 是否适合任何合理的屏幕尺寸?

此外,我想知道[在“真实”游戏和其他应用中使用了哪些方法。我想出的最好的解决方案是:

  • class Screen_promille由游戏逻辑操作,用于将xy存储为屏幕已用部分的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用于执行后者。

应该^足够明智吗?>>]

P。 S。:

  • 我不使用任何游戏引擎:我希望没有它们的情况下完成当前项目;
  • 我知道SFML typedef。 :)我把它们放在一旁,以吸引更多观众。

我已经完成了游戏逻辑的实现,现在是时候将其可视化了-我为此选择了SFML。但是,我一团糟:如何避免对游戏对象的坐标进行硬编码以使...

c++ 2d coordinates sfml game-development
1个回答
0
投票

简而言之,当您考虑可能遇到的所有问题时,这并不值得麻烦。硬编码坐标要容易得多。

© www.soinside.com 2019 - 2024. All rights reserved.