2017-05-09 7 views
0

나는 동시에 두 개의 창을 열었고 window2가 열려있는 동안 window1은 이벤트를 처리하지 못하는 예제를 만들었습니다. 나는 현재의 창 색상을 ilustrate로 바꿨다. (마우스를 움직이면 window1이 열리고 green2는 더 밝아진다.). 그러나 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; 
} 

어떻게하면됩니까?

답변

0

이에 대한 SFML 직접 기능 (나는 그것이 플랫폼 특정 코드를 사용하여 가능 예상 있지만)하지만, 작업 방법의 몇 가지가 없다 : SF :: 스타일에

  1. 변경 윈도우 스타일 :: 없음. 이것은 쉽고 빠르지 만 원하지 않는 제목 표시 줄과 창 테두리를 제거하는 효과가 있습니다.
  2. 각 렌더링의 위치를 ​​수동으로 설정하거나 위치 변경을 확인하고이를 취소하여 창 위치를 강제로 지정합니다.