我目前正在学习在C中使用SDL2并遇到一个问题,到目前为止我找不到解决方案
我试图在屏幕中间运行一个简单的2帧动画循环,但在看似设定的循环次数后窗口停止响应
while (1)
{
SDL_RenderClear(window->renderer);
test->o_update(sheet, test);
SDL_RenderCopy(window->renderer, sheet->texture, &test->frame, &test->pos);
SDL_RenderPresent(window->renderer);
SDL_Delay(16);
}
更新功能更新测试结构中名为“frame”的SDL_rect表单上的坐标,以便每隔30帧切换到下一帧。每帧我SDL_RenderCopy和SDL_RenderPresent更新屏幕。我的做事方式是否有明显的错误?
答案 0 :(得分:1)
问题来自SDL事件缺乏等待/民意调查,在这些情况下,该流程最终会停止响应。