替换GetInput()SFML?

时间:2012-12-11 20:08:11

标签: c++ 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);

谢谢!

1 个答案:

答案 0 :(得分: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;
        // ...
    }
}