mercredi 8 mars 2017

How to check if bool method returns value in an if statement C++

I'm having a go at creating classes and have created this method inside Input.cpp:

bool Input::CheckKeyPress(char key)
{
    SDL_Event ev;

    while (SDL_PollEvent(&ev))
    {
        keyState = SDL_GetKeyboardState(NULL);

        if (ev.type == SDL_KEYDOWN)
        {
            switch (key)
            {
            case 'w' :
                if (keyState[SDL_SCANCODE_W])
                {
                    return 1;
                }
                else
                {
                    return 0;
                }
            case 'a' :
                if (keyState[SDL_SCANCODE_A])
                {
                    return 1;
                }
                else
                {
                    return 0;
                }
            case 's' :
                if (keyState[SDL_SCANCODE_S])
                {
                    return 1;
                }
                else
                {
                    return 0;
                }
            case 'd' :
                if (keyState[SDL_SCANCODE_D])
                {
                    return 1;
                }
                else
                {
                    return 0;
                }
            }
        }
    }
}

I try to use it in an if-statement in my main class like so:

if (bool Input::CheckKeyPress(w))
    {
        //do stuff
    }

However as expected I get an error saying: "A function type is not allowed here" So what do I do?

Aucun commentaire:

Enregistrer un commentaire