mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2025-02-01 11:06:44 +01:00
add some very basic keyboard handling in level
This commit is contained in:
parent
4c039847a0
commit
cceecdfd54
2 changed files with 13 additions and 0 deletions
12
src/level.c
12
src/level.c
|
@ -71,6 +71,7 @@ bool Fly(struct Game *game, struct TM_Action *action, enum TM_ActionState state)
|
||||||
}
|
}
|
||||||
game->level.derpy_y-=0.004;
|
game->level.derpy_y-=0.004;
|
||||||
if (game->level.derpy_y>0.2) return false;
|
if (game->level.derpy_y>0.2) return false;
|
||||||
|
game->level.handle_input=true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,6 +239,7 @@ void Level_Load(struct Game *game) {
|
||||||
game->level.sheet_pos = 0;
|
game->level.sheet_pos = 0;
|
||||||
game->level.sheet_speed = 2;
|
game->level.sheet_speed = 2;
|
||||||
game->level.sheet_tmp = 0;
|
game->level.sheet_tmp = 0;
|
||||||
|
game->level.handle_input = false;
|
||||||
al_clear_to_color(al_map_rgb(0,0,0));
|
al_clear_to_color(al_map_rgb(0,0,0));
|
||||||
if (game->level.current_level!=1) Moonwalk_Load(game);
|
if (game->level.current_level!=1) Moonwalk_Load(game);
|
||||||
else {
|
else {
|
||||||
|
@ -278,6 +280,16 @@ int Level_Keydown(struct Game *game, ALLEGRO_EVENT *ev) {
|
||||||
game->gamestate = GAMESTATE_PAUSE;
|
game->gamestate = GAMESTATE_PAUSE;
|
||||||
game->loadstate = GAMESTATE_LEVEL;
|
game->loadstate = GAMESTATE_LEVEL;
|
||||||
Pause_Load(game);
|
Pause_Load(game);
|
||||||
|
} else {
|
||||||
|
if (game->level.handle_input) {
|
||||||
|
if (ev->keyboard.keycode == ALLEGRO_KEY_UP) {
|
||||||
|
game->level.derpy_y -= 0.05;
|
||||||
|
} else if (ev->keyboard.keycode == ALLEGRO_KEY_DOWN) {
|
||||||
|
game->level.derpy_y += 0.05;
|
||||||
|
}
|
||||||
|
if (game->level.derpy_y > 0.5) game->level.sheet_speed=2;
|
||||||
|
else game->level.sheet_speed=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,7 @@ struct Level {
|
||||||
float speed;
|
float speed;
|
||||||
float bg_pos, st_pos, fg_pos, cl_pos;
|
float bg_pos, st_pos, fg_pos, cl_pos;
|
||||||
float derpy_x, derpy_y;
|
float derpy_x, derpy_y;
|
||||||
|
bool handle_input;
|
||||||
int sheet_rows, sheet_cols, sheet_pos, sheet_tmp, sheet_speed;
|
int sheet_rows, sheet_cols, sheet_pos, sheet_tmp, sheet_speed;
|
||||||
ALLEGRO_BITMAP *background, *stage, *foreground, *clouds;
|
ALLEGRO_BITMAP *background, *stage, *foreground, *clouds;
|
||||||
ALLEGRO_BITMAP *welcome;
|
ALLEGRO_BITMAP *welcome;
|
||||||
|
|
Loading…
Reference in a new issue