2011-01-12 3 views
0

SDL에서 키 반복을 동시에 감지하는 방법은 무엇입니까? 지금 나는 동시에 눌려진 키를 발견 할 수있다. 한 번에 누르고있는 모든 키를 감지 할 수 있기를 원합니다.SDL을 사용하여 키 반복을 동시에 수행하려면 어떻게합니까?

내 코드 불가능 증명할 수있는 누르고 모든 키를 감지

SDL_EnableKeyRepeat (100, 200);

while (SDL_PollEvent (&event)) {

if (event.type == SDL_KEYDOWN) {

if (event.key.keysym.sym == SDLK_t) { 

    } else if (event.key.keysym.sym == SDL_y) { 

    } 

} else if (blah) {

//blah blah blah 

}

}

+0

''은 [유효한 SO 마크 다운]이 아닙니다 (http://stackoverflow.com/editing-help). – genpfault

답변

1

첫째. 키보드 제한으로 인해 대부분의 키보드는 동시에 누를 수있는 4-6 개의 버튼을 지원합니다. 두 번째는 키 반복을 사용하지 않는 것이 좋습니다. Dunno는 아마도 다른 사람들의 경험이 다를 지 모르지만, 관심있는 키의 상태를 저장함으로써 정확도를 높일 수 있습니다. 나는. 간단한 게임에서 그것은 방향키가 될 것입니다. 왼쪽 버튼을 누를 때 왼쪽으로 이동하고, 왼쪽에서 벗어나거나 오른쪽을 누를 때 설정을 해제하면됩니다. 타이핑과 같은 것을 필요로한다면, 아마도 몇몇 배열의 pressed_keys를 사용하여 그것을 만들 수있을 것이고, 키 id를 눌렀을 것입니다. (당신이 무언가를 게임처럼 만들려고한다고 가정 할 때).

관련 문제