C++ 在SFML2.5中调整窗口大小时,如何保持窗口的纵横比?

C++ 在SFML2.5中调整窗口大小时,如何保持窗口的纵横比?,c++,sfml,C++,Sfml,我想知道是否有一种方法可以在调整窗口大小的同时保持窗口的纵横比,就像在photoshop中缩放图层和按shift键一样 我终于设法做了我想做的事。我听并打电话,然后我修改了代码,代码如下所示: //设置屏幕大小 浮动屏幕宽度=800.f; 浮动筛高度=600.f; //获得调整大小的大小 sf::Vector2u size=_window.getSize(); //设置我想要的纵横比 浮动高度比=屏幕高度/屏幕宽度; 浮动宽度比=屏幕宽度/屏幕高度; //根据我想要的纵横比调整大小的窗口 如果(

我想知道是否有一种方法可以在调整窗口大小的同时保持窗口的纵横比,就像在photoshop中缩放图层和按shift键一样


我终于设法做了我想做的事。我听并打电话,然后我修改了代码,代码如下所示:

//设置屏幕大小
浮动屏幕宽度=800.f;
浮动筛高度=600.f;
//获得调整大小的大小
sf::Vector2u size=_window.getSize();
//设置我想要的纵横比
浮动高度比=屏幕高度/屏幕宽度;
浮动宽度比=屏幕宽度/屏幕高度;
//根据我想要的纵横比调整大小的窗口

如果(size.y*widthRatio),我的第一个想法是监听一个事件,然后调用以强制执行该比率。它在使用鼠标调整大小时“动态”工作吗?好的,我尝试过,我发现它不工作,即使在事件轮询之外,在一个单独的线程中不断更新。我想这是平台的限制。