we can move and rotate
This commit is contained in:
parent
1665a2d8e6
commit
061d583b3f
@ -16,6 +16,7 @@
|
||||
# include "cub3d.h"
|
||||
|
||||
int player_create(t_game **game);
|
||||
void player_move(keys_t key, t_player *player);
|
||||
void player_render(t_screen *screen, t_player *player);
|
||||
|
||||
#endif
|
||||
|
||||
@ -17,6 +17,9 @@ void keyhandle(mlx_key_data_t keydata, void *param)
|
||||
t_game *game;
|
||||
|
||||
game = (t_game *)param;
|
||||
if (keydata.key == MLX_KEY_ESCAPE)
|
||||
if (keydata.key == MLX_KEY_W || keydata.key == MLX_KEY_S
|
||||
|| keydata.key == MLX_KEY_LEFT || keydata.key == MLX_KEY_RIGHT)
|
||||
player_move(keydata.key, game->player);
|
||||
else if (keydata.key == MLX_KEY_ESCAPE)
|
||||
game_terminate(game);
|
||||
}
|
||||
|
||||
20
src/player.c
20
src/player.c
@ -29,7 +29,27 @@ int player_create(t_game **game)
|
||||
return (SUCCESS);
|
||||
}
|
||||
|
||||
void player_move(keys_t key, t_player *player)
|
||||
{
|
||||
if (key == MLX_KEY_W)
|
||||
{
|
||||
player->pos.x += cos(player->angle) * player->speed;
|
||||
player->pos.y += sin(player->angle) * player->speed;
|
||||
}
|
||||
else if (key == MLX_KEY_S)
|
||||
{
|
||||
player->pos.x -= cos(player->angle) * player->speed;
|
||||
player->pos.y -= sin(player->angle) * player->speed;
|
||||
}
|
||||
else if (key == MLX_KEY_LEFT)
|
||||
player->angle -= .1f;
|
||||
else if (key == MLX_KEY_RIGHT)
|
||||
player->angle += .1f;
|
||||
}
|
||||
|
||||
void player_render(t_screen *screen, t_player *player)
|
||||
{
|
||||
if (player->pos.x < 0 || player->pos.x >= screen->width || player->pos.y < 0 || player->pos.y >= screen->height)
|
||||
return ;
|
||||
mlx_put_pixel(screen->img, (int) player->pos.x, (int) player->pos.y, 0xFFFFFFFF);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user