像素未被绘制到屏幕并且无法退出。可能是MacOSX相关的bug?

时间:2014-04-15 03:37:17

标签: c xcode5 sdl sdl-2

我正在关注SDL的this教程。我尝试将代码翻译为C,可以查看here。正如你猜测的那样,我想在Conway的生命游戏的实现中使用这个代码。代码编译并运行,并绘制一个白色屏幕。但是当我点击时,我没有在屏幕上绘制任何像素,当我按下红色OSX退出按钮或从菜单中选择退出时,程序不会退出。

如果你看一下教程的评论部分,你可以看到我向教程的作者提出了同样的问题。他回答说代码对他有效,我的问题可能是由于OSX的一个错误。我试过询问他推荐的论坛,但发帖到论坛需要我尚未授予的特殊用户权限。在我的程序中的各个位置粘贴SDL_GetError()也不会改变程序的行为。

1 个答案:

答案 0 :(得分:0)

更广为人知(但不完整)的教程位于here。我不知道这是否有帮助。

使用SDL_PollEvent()代替SDL_WaitEvent()。原因是WaitEvent等待直到事件发生(暂停程序)而PollEvent没有。其次,事件应该循环处理,即:while(SDL_PollEvent(&e) {...}而不是SDL_WaitEvent(&e);...

你要做的最好的事情是按照我链接到的其他教程,因为你使用的教程似乎写得不是很好。 (你可以快速了解你已经知道的东西)