生成SDLK_LEFT SDL_Event的正确方法?

时间:2011-11-30 15:07:47

标签: macos events keyboard sdl

我想生成一个SDL_Event,但似乎不起作用。这是我生成的代码:

Uint8* keys; 

SDL_Event ev;
ev.type = SDL_KEYDOWN;
ev.key.state = SDL_PRESSED;
ev.key.keysym.sym = SDLK_LEFT;

SDL_PushEvent(&ev); 
keys = SDL_GetKeyState(NULL);

后来我正在检查它是否在那里:

if(keys)
{
    if(keys[SDLK_LEFT])
    {
        //Do something
    }
…

为什么不起作用?我是否需要初始化其他内容?或者它有更简单的方法来生成[SDLK_LEFT] Keyboard event?我也试过keys[SDLK_LEFT] = true;但没有成功。

2 个答案:

答案 0 :(得分:0)

我现在使用以下代码了解它:

keys = SDL_GetKeyState(NULL);
keys[SDLK_LEFT] = TRUE;

阅读完钥匙后,我将它们设置回FALSE

答案 1 :(得分:0)

试试这个:

overflow: hidden