diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-11-18 02:56:38 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-11-18 02:56:38 +0100 |
| commit | 542ae0113ac850e0d5216c7e2dc4543e66a1237f (patch) | |
| tree | 3f51675d7d90be60f5e9e5045746325c58370566 /event.c | |
| parent | 975ec3edd112c1a7908c0d97dc49592a22076b71 (diff) | |
| download | cub3d-542ae0113ac850e0d5216c7e2dc4543e66a1237f.tar.gz cub3d-542ae0113ac850e0d5216c7e2dc4543e66a1237f.tar.bz2 cub3d-542ae0113ac850e0d5216c7e2dc4543e66a1237f.zip | |
Added rotation, mlx_clear_window feelsgoodman
Diffstat (limited to 'event.c')
| -rw-r--r-- | event.c | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -6,12 +6,15 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/11/15 06:39:37 by cacharle #+# #+# */ -/* Updated: 2019/11/16 12:44:15 by cacharle ### ########.fr */ +/* Updated: 2019/11/18 02:31:23 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include "cub3d.h" +#define ROTATE_SIZE (M_PI / 20.0) +#define MOVE_SPEED 0.5 + int handle_key(int key, void *param) { t_state *state; @@ -21,12 +24,16 @@ int handle_key(int key, void *param) if (key == MLXK_ESC) state->running = FALSE; if (key == MLXK_A) - state->pos.x -= 0.5; + state->pos = vector_add(state->pos, vector_rotate(vector_scale(state->dir, MOVE_SPEED), M_PI_2)); if (key == MLXK_D) - state->pos.x += 0.5; + state->pos = vector_add(state->pos, vector_rotate(vector_scale(state->dir, MOVE_SPEED), -M_PI_2)); if (key == MLXK_W) - state->pos.y -= 0.5; + state->pos = vector_add(state->pos, vector_scale(state->dir, MOVE_SPEED)); if (key == MLXK_S) - state->pos.y += 0.5; + state->pos = vector_add(state->pos, vector_scale(state->dir, -MOVE_SPEED)); + if (key == MLXK_LEFT) + state->dir = vector_rotate(state->dir, -ROTATE_SIZE); + if (key == MLXK_RIGHT) + state->dir = vector_rotate(state->dir, ROTATE_SIZE); return (0); } |
