gpt4 book ai didi

android - Android 上的 SDL2 事件循环 - 无法将任何新事件推送到队列中

转载 作者:行者123 更新时间:2023-11-29 18:13:12 25 4
gpt4 key购买 nike

我正在尝试在我的新 Android 应用程序中使用 SDL2,它应该运行良好:

http://wilbefast.com/2011/11/11/recent-sdl-android-goodies/

它编译没有任何问题,并且有一个示例项目,因此很容易开始使用它。我编译了库并开始使用我的应用程序,创建了一个事件循环——就像在 SDL 1.2 中一样,并尝试通过函数将一些事件推送到其中:

int SDL_PushEvent(SDL_Event * event);

但是,它总是失败,错误值为 -1。我刚刚为此源文件定义了 SDL_main 函数:

http://hg.libsdl.org/SDL/file/6bb657898f55/src/main/android/SDL_android_main.cpp

我的 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 代码中创建的:http://hg.libsdl.org/SDL/file/6bb657898f55/android-project/src/org/libsdl/app/SDLActivity.java

为什么 SDL_PushEvent 函数不起作用?有谁知道可能出什么问题了吗?

最佳答案

SDL 队列不会在初始化后自动启动,必须​​通过调用 SDL_StartEventLoop();

显式启动

关于android - Android 上的 SDL2 事件循环 - 无法将任何新事件推送到队列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com