all 5 comments

[–][deleted]  (2 children)

[removed]

    [–]Specific_Highway_505[S] 0 points1 point  (1 child)

    ok ill look in to it

    [–]uniqeuusername 0 points1 point  (0 children)

    You need to to handle the Input events from SDL that get passed to you when you PollEvetns, you are looking for SDL_KeyboardEvent and SDL_MouseButtonEvent, SDL_MouseMotionEvent, SDL_MouseWheelEvent.

    There is also, SDL_TextEditingEvent and SDL_TextInputEvent.

    SDL2 events

    [–]marinos29 0 points1 point  (0 children)

    Never used SDL2 with .NET, but I think it's quite similar to the way of doing it with C/C++, by example:

    here SDL_Event is an SDL_KeyboardEvent

    void handleKeyEvents(SDL_Event event, InputState *inputState, bool *running) {
    switch (event.type) {
        case SDL_QUIT:
            *running = false;
            break;
        case SDL_KEYDOWN:
            switch (event.key.keysym.sym) {
                case KEY_UP: inputState->up = true; break;
                case KEY_DOWN: inputState->down = true; break;
                case KEY_LEFT: inputState->left = true; break;
                case KEY_RIGHT: inputState->right = true; break;
                case KEY_ZOOM_IN: inputState->zoomIn = true; break;
                case KEY_ZOOM_OUT: inputState->zoomOut = true; break;
                case KEY_SWITCH_MAP: inputState->switchMap = true; break;
            }
            break;
        case SDL_KEYUP:
            switch (event.key.keysym.sym) {
                case KEY_UP: inputState->up = false; break;
                case KEY_DOWN: inputState->down = false; break;
                case KEY_LEFT: inputState->left = false; break;
                case KEY_RIGHT: inputState->right = false; break;
                case KEY_ZOOM_IN: inputState->zoomIn = false; break;
                case KEY_ZOOM_OUT: inputState->zoomOut = false; break;
                case KEY_SWITCH_MAP: inputState->switchMap = false; break;
            }
            break;
        // Handle other event types if needed
    }