Replacement for GetInput() SFML?

Replacement for GetInput() SFML?

本文关键字:SFML for GetInput Replacement      更新时间:2023-10-16

我要用

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

谢谢!

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;
        // ...
    }
}