2012-12-11 31 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