1

我打算用

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);

谢谢!

4

1 回答 1

0

sf::Window::pollEvent()接受 type 的参数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;
        // ...
    }
}
于 2012-12-11T20:16:07.523 回答