move according to delta time
This commit is contained in:
parent
0ee3b0ae0d
commit
25a9dac4dd
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 17:51:26 by qmennen #+# #+# */
|
/* Created: 2025/04/15 17:51:26 by qmennen #+# #+# */
|
||||||
/* Updated: 2025/04/17 19:52:14 by qmennen ### ########.fr */
|
/* Updated: 2025/04/17 19:57:35 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -19,6 +19,4 @@ void keyhandle(mlx_key_data_t keydata, void *param)
|
|||||||
game = (t_game *)param;
|
game = (t_game *)param;
|
||||||
if (keydata.key == MLX_KEY_ESCAPE)
|
if (keydata.key == MLX_KEY_ESCAPE)
|
||||||
game_terminate(game);
|
game_terminate(game);
|
||||||
else
|
|
||||||
game->keyboard->keys[keydata.key] = 1;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/17 19:29:29 by qmennen #+# #+# */
|
/* Created: 2025/04/17 19:29:29 by qmennen #+# #+# */
|
||||||
/* Updated: 2025/04/17 19:45:46 by qmennen ### ########.fr */
|
/* Updated: 2025/04/17 19:58:48 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -21,9 +21,12 @@ int keyboard_create(t_game **game)
|
|||||||
if (!keyboard)
|
if (!keyboard)
|
||||||
return (FAILURE);
|
return (FAILURE);
|
||||||
(*game)->keyboard = keyboard;
|
(*game)->keyboard = keyboard;
|
||||||
i = -1;
|
i = 0;
|
||||||
while ((i++) < NUM_KEYS)
|
while (i < NUM_KEYS)
|
||||||
|
{
|
||||||
(*game)->keyboard->keys[i] = 0;
|
(*game)->keyboard->keys[i] = 0;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
return (SUCCESS);
|
return (SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
14
src/player.c
14
src/player.c
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
|
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
|
||||||
/* Updated: 2025/04/17 19:50:48 by qmennen ### ########.fr */
|
/* Updated: 2025/04/17 19:55:43 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -24,16 +24,16 @@ int player_create(t_game **game)
|
|||||||
player->pos.x = 20.f;
|
player->pos.x = 20.f;
|
||||||
player->pos.y = 20.f;
|
player->pos.y = 20.f;
|
||||||
player->angle = 0.f;
|
player->angle = 0.f;
|
||||||
player->speed = 6.f;
|
player->speed = 35.f;
|
||||||
player->fov = 90.f;
|
player->fov = 90.f;
|
||||||
(*game)->player = player;
|
(*game)->player = player;
|
||||||
return (SUCCESS);
|
return (SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void move(t_player *player, int dir)
|
static void move(t_player *player, int dir, float delta)
|
||||||
{
|
{
|
||||||
player->pos.x += dir * (cos(player->angle) * player->speed);
|
player->pos.x += dir * (cos(player->angle) * player->speed * delta);
|
||||||
player->pos.y += dir * (sin(player->angle) * player->speed);
|
player->pos.y += dir * (sin(player->angle) * player->speed * delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rotate(t_player *player, int dir)
|
static void rotate(t_player *player, int dir)
|
||||||
@ -44,9 +44,9 @@ static void rotate(t_player *player, int dir)
|
|||||||
void player_update(t_game *game)
|
void player_update(t_game *game)
|
||||||
{
|
{
|
||||||
if (get_key(game, MLX_KEY_W))
|
if (get_key(game, MLX_KEY_W))
|
||||||
move(game->player, 1);
|
move(game->player, 1, game->screen->mlx->delta_time);
|
||||||
else if (get_key(game, MLX_KEY_S))
|
else if (get_key(game, MLX_KEY_S))
|
||||||
move(game->player, -1);
|
move(game->player, -1, game->screen->mlx->delta_time);
|
||||||
if (get_key(game, MLX_KEY_LEFT))
|
if (get_key(game, MLX_KEY_LEFT))
|
||||||
rotate(game->player, -1);
|
rotate(game->player, -1);
|
||||||
else if (get_key(game, MLX_KEY_RIGHT))
|
else if (get_key(game, MLX_KEY_RIGHT))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user