我有代码
int userinput()
{
while(hasquit == false)
{
while ( SDL_PollEvent(&event) )
{
if ( event.type == SDL_QUIT )
{
hasquit = true;
}
if ( event.type == SDL_KEYDOWN )
{
if ( event.key.keysym.sym == SDLK_ESCAPE )
{
hasquit = true;
}
if(event.type == SDL_MOUSEBUTTONDOWN)
{
if(event.button.button == SDL_BUTTON_LEFT)
{
//do something
}
}
}
}
}
}
这几乎是我从these tutorials复制的事件结构。我可以获得SDL_QUIT和SDLK_ESCAPE事件,但如果我尝试制作
hasquit = true
使用任一mousebutton if语句,没有任何反应。
答案 0 :(得分:3)
你有
if(event.type == SDL_MOUSEBUTTONDOWN)
里面的
if ( event.type == SDL_KEYDOWN )
块。它应该是分开的。
这应该有效:
int userinput()
{
while(hasquit == false)
{
while ( SDL_PollEvent(&event) )
{
if ( event.type == SDL_QUIT )
{
hasquit = true;
}
if ( event.type == SDL_KEYDOWN )
{
if ( event.key.keysym.sym == SDLK_ESCAPE )
{
hasquit = true;
}
}
if(event.type == SDL_MOUSEBUTTONDOWN)
{
if(event.button.button == SDL_BUTTON_LEFT)
{
//do something
}
}
}
}
}