Add more key bindings
This commit is contained in:
parent
98186de2dd
commit
8b599e2436
1 changed files with 11 additions and 26 deletions
37
src/main.cpp
37
src/main.cpp
|
|
@ -116,37 +116,22 @@ static void toggleFullScreen() {
|
|||
|
||||
static void handleKeyDown(SDL_Event* event) {
|
||||
switch (event->key.keysym.sym) {
|
||||
case SDLK_LEFT: {
|
||||
if (event->key.keysym.mod & KMOD_META) {
|
||||
world->previousRoom();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SDLK_DOWN: {
|
||||
if (event->key.keysym.mod & KMOD_META) {
|
||||
world->resetPlayer();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SDLK_RIGHT: {
|
||||
if (event->key.keysym.mod & KMOD_META) {
|
||||
world->nextRoom();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SDLK_a: world->player().move(Player::LEFT); break;
|
||||
case SDLK_s: world->player().move(Player::BACKWARD); break;
|
||||
case SDLK_d: world->player().move(Player::RIGHT); break;
|
||||
case SDLK_w: world->player().move(Player::FORWARD); break;
|
||||
case SDLK_j: world->previousRoom(); break;
|
||||
case SDLK_r: world->resetPlayer(); break;
|
||||
case SDLK_l: world->nextRoom(); break;
|
||||
case SDLK_a: case SDLK_LEFT: world->player().move(Player::LEFT); break;
|
||||
case SDLK_s: case SDLK_DOWN: world->player().move(Player::BACKWARD); break;
|
||||
case SDLK_d: case SDLK_RIGHT: world->player().move(Player::RIGHT); break;
|
||||
case SDLK_w: case SDLK_UP: world->player().move(Player::FORWARD); break;
|
||||
}
|
||||
}
|
||||
|
||||
static void handleKeyUp(SDL_Event* event) {
|
||||
switch (event->key.keysym.sym) {
|
||||
case SDLK_a: world->player().stop(Player::LEFT); break;
|
||||
case SDLK_s: world->player().stop(Player::BACKWARD); break;
|
||||
case SDLK_d: world->player().stop(Player::RIGHT); break;
|
||||
case SDLK_w: world->player().stop(Player::FORWARD); break;
|
||||
case SDLK_a: case SDLK_LEFT: world->player().stop(Player::LEFT); break;
|
||||
case SDLK_s: case SDLK_DOWN: world->player().stop(Player::BACKWARD); break;
|
||||
case SDLK_d: case SDLK_RIGHT: world->player().stop(Player::RIGHT); break;
|
||||
case SDLK_w: case SDLK_UP: world->player().stop(Player::FORWARD); break;
|
||||
case SDLK_SPACE: world->togglePaused(); break;
|
||||
case SDLK_q: if (!(event->key.keysym.mod & KMOD_META)) break;
|
||||
case SDLK_ESCAPE: run = false; break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue