我刚刚在Mac上设置了SDL2框架,但是编译和运行该程序成功,但窗口没有响应(我复制了创建矩形的代码)。
我使用xcode,我从这里开始遵循教程http://lazyfoo.net/tutorials/SDL/01_hello_SDL/mac/xcode/index.php 一步一步来。
<input id="myTextField"/>
为什么会发生此问题? 预先谢谢你
答案 0 :(得分:0)
为了使编写SDL的程序“响应”操作系统,您应该将控制权交还给SDL,以便它处理系统消息并将它们作为SDL事件(鼠标事件,键盘事件等)提供给您。
为此,您必须添加一个使用SDL_PollEvent
的循环,该循环应该看起来像
while(true)
{
SDL_Event e;
while (SDL_PollEvent(&e))
{
// Decide what to do with events here
}
// Put the code that is executed every "frame".
// Under "frame" I mean any logic that is run every time there is no app events to process
}
您需要处理一些特殊事件,例如SDL_QuiEvent
,才能关闭应用程序。如果要处理它,则应修改代码以使其看起来像这样:
while(true)
{
SDL_Event e;
while (SDL_PollEvent(&e))
{
if(e.type == SDL_QUIT)
{
break;
}
// Handle events
}
// "Frame" logic
}