中的e是什么
SDL_Event e;
如何将e从一个函数传递到另一个函数然后传递给另一个函数。 有可能吗?
基本上是e bool或int
bool x_out_window()
{
bool quit = false;
SDL_Event e;
while( !quit )
{
while( SDL_PollEvent( &e ) != 0 )
{
if( e.type == SDL_QUIT )
quit = true;
else
detect_key_press(e.type);
}
}
}
bool detect_key_press(e.type)
{
//SDL_Event e;
if( e.type == SDL_KEYDOWN )
{
//Select surfaces based on key press
switch( e.key.keysym.sym )
{
case SDLK_UP:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_UP ];
break;
case SDLK_DOWN:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DOWN ];
break;
case SDLK_LEFT:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_LEFT ];
break;
case SDLK_RIGHT:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_RIGHT ];
break;
default:
gCurrentSurface = gKeyPressSurfaces[ KEY_PRESS_SURFACE_DEFAULT ];
break;
}
SDL_BlitSurface( gXOut, NULL, gScreenSurface, NULL );
SDL_UpdateWindowSurface( gWindow );
}
}
如果这是一个愚蠢的问题,我很抱歉,但我无法理解这个概念,我是编码的新手。
答案 0 :(得分:0)
只需将您的功能2声明为
即可void funtion2(SDL_Event e){
//...
}
在C ++中,你需要为函数(这里可能是void
)和所有参数(这里名为SDL_Event
的{{1}})提供一个类型