有没有人遇到这样的问题:在 SFML 中运行基本窗口设置会呈现一个比实际作为参数传递的窗口更小的窗口。我不确定是什么问题:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(500, 500), "SFML works!");
sf::Event event;
while(window.isOpen()) {
while(window.pollEvent(event)) {
if(event.type == sf::Event::Closed)
window.close();
}
}
return 0;
}
我在 mac 操作系统上运行我的代码。这是我得到的结果 - 看起来比 500 x 500 小很多。
最佳答案
如果您的 Mac 是高分辨率 Retina 显示器,您将必须找到一种缩放窗口的方法来匹配它。例如,与 3840 x 2160 显示器上的窗口相比,1280 x 720 显示器上的 500x500 窗口将非常大。你可能会这样做:
void scaleWindow(int& screenWidth, int& screenHeight, float portion){
screenWidth *portion;
screenHeight *portion;
}
main(){
int windowWidth = 1920;
int windowHeight = 1080;
float scale = 0.5
scaleWindow(windowWidth, windowHeight, scale) // Half your current screen size
//make window here
}
关于c++ - 以错误大小呈现的 SFML 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57801747/