0
我创建了一个例子,其中我有2个窗口同时打开,并且window1无法在window2打开时处理事件。我改变了当前窗口的颜色来说明它的工作原理(当我移动鼠标时,window1打开,window2变得更绿,更绿)。但即使window1不能处理窗口2打开时的事件,我仍然不能改变window1的位置。我想不能做到这一点。开发SFML框架
#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;
}
我该怎么做?