我创建了一个示例,在这个示例中,我同时打开了两个窗口,当window2打开时,window1无法处理事件。我更改了当前窗口的颜色,以说明其工作正常(当window1打开时,如果我移动鼠标,window2会变得越来越绿)。但是即使在窗口2打开的时候window1不能处理事件,我仍然不能改变window1的位置。我希望无法做到这一点。
#include <SFML/OpenGL.hpp>
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
using namespace std;
sf::Event event;
int main()
{
sf::RenderWindow window1(sf::VideoMode(600, 600), "Window1");
sf::RenderWindow window2(sf::VideoMode(300, 300), "Window2");
int r=0,g=0;
while (window1.isOpen())
{
if(window2.isOpen()==false)
while (window1.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window1.close();
r=(r+1)%255;
}
else
{
while (window2.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window2.close();
g=(g+1)%255;
}
}
window1.clear(sf::Color(r,0,0));
window1.display();
window2.clear(sf::Color(0,g,0));
window2.display();
}
return 0;
}我该怎么做?
发布于 2017-05-09 22:51:35
https://stackoverflow.com/questions/43871859
复制相似问题