Ich habe ein Beispiel erstellt, in dem ich 2 Fenster zur gleichen Zeit geöffnet habe und window1 kann Ereignisse behandeln, während window2 geöffnet ist. Ich habe die Farbe des aktuellen Fensters geändert, um anzuzeigen, dass es funktioniert (während window1 geöffnet ist, wenn ich die Maus bewege, wird window2 grüner und grüner). Aber obwohl window1 nicht mit Ereignissen umgehen kann, während Fenster 2 geöffnet ist, kann ich die window1 Position immer noch nicht ändern. Ich möchte das nicht schaffen.Entwickeln von SFML-Framework
#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;
}
Wie mache ich das?