我尝试以不同的方式设置参数,但仍然没有骰子。有人能告诉我这里出了什么问题吗?
void controls()
{
if(cancontrol = true)
{
if(window_key.type == SDL_KEYDOWN)
{
switch(window_key.key.keysym.sym)
{
case SDLK_UP:
haneposy =+ -1;
haneposx = 0;
break;
case SDLK_LEFT:
haneposx =- 1;
haneposy = 0;
break;
case SDLK_RIGHT:
haneposx =+ 1;
haneposy = 0;
break;
case SDLK_DOWN:
haneposy =- -1;
haneposx = 0;
break;
default:
break;
}
}
if(window_key.type == SDL_KEYUP)
{
switch(window_key.key.keysym.sym)
{
case SDLK_UP:
haneposx = 0;
haneposy = 0;
break;
case SDLK_LEFT:
haneposx = 0;
haneposy = 0;
break;
case SDLK_RIGHT:
if(haneposx && haneposy > 0)
{
haneposx = 0;
haneposy = 0;
}
break;
case SDLK_DOWN:
haneposx = 0;
haneposy = 0;
break;
default:
break;
}
}
}
}
问题是,当释放键时,它不会通过将变量等于零来停止精灵移动。有关其他信息,我使用glTranslate移动精灵。
答案 0 :(得分:0)
我认为你困惑+ = for = +。第一个是递增运算符,第二个是赋值后加一个加号。