Android上的SDL2事件循环-无法将任何新事件推送到队列中
我正在尝试在我的新Android应用程序中使用SDL2,它应该可以很好地工作: 它编译时没有任何问题,并且有一个示例项目,因此开始使用它非常容易。我编译了库并从我的应用程序开始,创建了一个事件循环-如SDL 1.2中所述,并尝试通过函数将一些事件推入其中:Android上的SDL2事件循环-无法将任何新事件推送到队列中,android,android-ndk,sdl,Android,Android Ndk,Sdl,我正在尝试在我的新Android应用程序中使用SDL2,它应该可以很好地工作: 它编译时没有任何问题,并且有一个示例项目,因此开始使用它非常容易。我编译了库并从我的应用程序开始,创建了一个事件循环-如SDL 1.2中所述,并尝试通过函数将一些事件推入其中: int SDL_PushEvent(SDL_Event * event); 但是,它总是失败,错误值为-1。我刚刚为此源文件定义了SDL_main函数: My SDL_main函数包含简单的事件循环: SDL_Event event;
int SDL_PushEvent(SDL_Event * event);
但是,它总是失败,错误值为-1。我刚刚为此源文件定义了SDL_main函数:
My SDL_main函数包含简单的事件循环:
SDL_Event event;
for (;;)
{
SDL_WaitEvent(&event);
switch (event.type)
{
case SDL_QUIT:
return;
case SOME_EVENT:
break;
default:
break;
}
}
就是这样,没有线程,没有互斥,没有等待,只有一个简单的主函数。我注意到我的事件循环处理一些事件,它们的event.type等于2151293988,看起来它们的源代码是SDLSurface实例,它是在Java代码中创建的:
为什么
SDL\u PushEvent
功能不起作用?有人知道会出什么问题吗 SDL队列在初始化后不会自动启动,必须通过调用SDL_StartEventLoop()显式启动它代码>看来我找到了原因。队列刚刚开始!我认为队列在初始化时会自动运行SDL2。。。我添加了SDL_StartEventLoop()代码>调用主函数,它现在可以工作了-我的生命中几乎五个小时都没有了这样一点遗漏。。。