2012-12-11 32 views
1

我打算用替換爲GetInput()SFML?

GetInput() 

這個代碼,但我不得不使用不同的東西來代替。 pollEvent給了我這些錯誤:

error C2664: 'sf::Window::pollEvent' : cannot convert parameter 1 from 'int' to 'sf::Event &' 
error C2664: 'sf::Window::pollEvent' : cannot convert parameter 1 from 'int' to 'sf::Event &' 

的代碼是:

int x = camera->GetPosition().x + window->pollEvent(sf::Mouse::getPosition().x); 
int y = camera->GetPosition().y + window->pollEvent(sf::Mouse::getPosition().y); 

謝謝!

+0

你到底想幹什麼?我看到你的代碼,但我不明白它試圖完成什麼 – Cornstalks

+0

基本上我想將相機移動到鼠標點擊的地方。這意味着我需要獲得相機內鼠標的位置。 – user1816388

+0

我編輯了我的答案以反映 – Cornstalks

回答

0

sf::Window::pollEvent()需要Event& event類型的參數,但您試圖通過sf::Mouse::getPosition().x/y。我完全不知道爲什麼你打電話給window->pollEvent(),並且看起來你正在嘗試做什麼,你可以直接刪除函數調用並添加sf::Mouse::getPosition().x/y

編輯:基於您的評論,它看起來像你想要更多的東西是這樣的:

sf::Event event; 
while (window->pollEvent(event)) // Be sure to put this in your main event loop 
{ 
    if (event.type == sf::Event::MouseButtonPressed) 
    { 
     int x = camera->GetPosition().x + event.mouseButton.x; 
     // ... 
    } 
} 
+0

謝謝,但我現在正處於未處理的異常狀態。我稍後會解決這個問題。 – user1816388