我正在关注SDL的this教程。我尝试将代码翻译为C,可以查看here。正如你猜测的那样,我想在Conway的生命游戏的实现中使用这个代码。代码编译并运行,并绘制一个白色屏幕。但是当我点击时,我没有在屏幕上绘制任何像素,当我按下红色OSX退出按钮或从菜单中选择退出时,程序不会退出。
如果你看一下教程的评论部分,你可以看到我向教程的作者提出了同样的问题。他回答说代码对他有效,我的问题可能是由于OSX的一个错误。我试过询问他推荐的论坛,但发帖到论坛需要我尚未授予的特殊用户权限。在我的程序中的各个位置粘贴SDL_GetError()也不会改变程序的行为。
答案 0 :(得分:0)
更广为人知(但不完整)的教程位于here。我不知道这是否有帮助。
使用SDL_PollEvent()代替SDL_WaitEvent()。原因是WaitEvent等待直到事件发生(暂停程序)而PollEvent没有。其次,事件应该循环处理,即:while(SDL_PollEvent(&e) {...}
而不是SDL_WaitEvent(&e);...
你要做的最好的事情是按照我链接到的其他教程,因为你使用的教程似乎写得不是很好。 (你可以快速了解你已经知道的东西)