代码之家  ›  专栏  ›  技术社区  ›  user1511417

无轮询的SDL2事件回调

  •  0
  • user1511417  · 技术社区  · 6 年前

    EventWatch Filter 不轮询新事件?

    #include <SDL2/SDL.h>
    #include <iostream>
    
     int SDLCALL watch(void *userdata, SDL_Event* event) {
            std::cout << event->type << "\n";
        return 1; // or 0
    }
    
    int main( ){
        SDL_Window *window {SDL_CreateWindow("Window", 100, 100, 400, 400, 0)};
        SDL_Renderer* renderer {SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED)};
    
        SDL_SetEventFilter(watch, NULL);
    
        function.Call("main"); // non-C++ function with endless loop
    
        SDL_DestroyRenderer(renderer);
        SDL_DestroyWindow(window);
        SDL_Quit();
        return 0;
    }
    

    这已经是一个无止境的循环 "main" watch(..)

    1 回复  |  直到 6 年前
        1
  •  0
  •   user1511417    6 年前

    正如Gerhard Stein博士在评论中所说:

    所以答案很简单