From 237bee41a98f486841db84d8dad2e271ce0b9529 Mon Sep 17 00:00:00 2001 From: En Yi Date: Tue, 23 May 2023 21:17:36 +0800 Subject: [PATCH] Add simple player transition logic Stand<->Run --- scenes/player_ent.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scenes/player_ent.c b/scenes/player_ent.c index a9efc0d..043b943 100644 --- a/scenes/player_ent.c +++ b/scenes/player_ent.c @@ -2,6 +2,7 @@ #include "constants.h" #include #include +#include "raymath.h" #define N_PLAYER_SPRITES 2 enum PlayerSpriteEnum @@ -14,7 +15,12 @@ static SpriteRenderInfo_t player_sprite_map[N_PLAYER_SPRITES] = {0}; static unsigned int player_sprite_transition_func(Entity_t* ent) { - return SPR_PLAYER_RUN; + CTransform_t* p_ctrans = get_component(ent, CTRANSFORM_COMP_T); + if (Vector2LengthSqr(p_ctrans->velocity) > 10000.0f) + { + return SPR_PLAYER_RUN; + } + return SPR_PLAYER_STAND; } Entity_t* create_player(EntityManager_t* ent_manager, Assets_t* assets)