Add a sprite for player

scene_man
En Yi 2023-05-15 20:48:56 +08:00
parent bafb32501f
commit ee4313adbb
3 changed files with 9 additions and 8 deletions

View File

@ -4,7 +4,7 @@
#ifndef TILE16_SIZE #ifndef TILE16_SIZE
#define TILE_SIZE 32 #define TILE_SIZE 32
#define DEFAULT_MAP_WIDTH 48 #define DEFAULT_MAP_WIDTH 48
#define DEFAULT_MAP_HEIGHT 16 #define DEFAULT_MAP_HEIGHT 22
#define VIEWABLE_MAP_WIDTH 32 #define VIEWABLE_MAP_WIDTH 32
#define VIEWABLE_MAP_HEIGHT 16 #define VIEWABLE_MAP_HEIGHT 16
#else #else
@ -22,7 +22,7 @@
#ifndef TILE16_SIZE #ifndef TILE16_SIZE
#define PLAYER_WIDTH 30 #define PLAYER_WIDTH 30
#define PLAYER_HEIGHT 55 #define PLAYER_HEIGHT 42
#define PLAYER_C_WIDTH 30 #define PLAYER_C_WIDTH 30
#define PLAYER_C_HEIGHT 30 #define PLAYER_C_HEIGHT 30
#else #else

View File

@ -40,7 +40,7 @@ static void level_scene_render_func(Scene_t* scene)
Entity_t* p_ent; Entity_t* p_ent;
BeginTextureMode(data->game_viewport); BeginTextureMode(data->game_viewport);
ClearBackground(RAYWHITE); ClearBackground(WHITE);
BeginMode2D(data->cam); BeginMode2D(data->cam);
for (size_t i = 0; i < tilemap.n_tiles; ++i) for (size_t i = 0; i < tilemap.n_tiles; ++i)
{ {
@ -252,6 +252,7 @@ static void spawn_player(Scene_t* scene)
}; };
CSprite_t* p_cspr = add_component(&scene->ent_manager, p_ent, CSPRITE_T); CSprite_t* p_cspr = add_component(&scene->ent_manager, p_ent, CSPRITE_T);
p_cspr->sprite = get_sprite(&scene->engine->assets, "plr_stand"); p_cspr->sprite = get_sprite(&scene->engine->assets, "plr_stand");
p_cspr->offset = (Vector2){0, -20};
p_cspr->sprites_map = player_sprite_map; p_cspr->sprites_map = player_sprite_map;
p_cspr->transition_func = &player_sprite_transition_func; p_cspr->transition_func = &player_sprite_transition_func;
} }

View File

@ -23,16 +23,16 @@ int main(void)
init_memory_pools(); init_memory_pools();
init_assets(&engine.assets); init_assets(&engine.assets);
Texture2D* tex = add_texture(&engine.assets, "plr_tex", "res/test_tex.png"); Texture2D* tex = add_texture(&engine.assets, "plr_tex", "res/bunny_stand.png");
Sprite_t* spr = add_sprite(&engine.assets, "plr_stand", tex); Sprite_t* spr = add_sprite(&engine.assets, "plr_stand", tex);
spr->origin = (Vector2){0, 0}; spr->origin = (Vector2){0, 0};
spr->frame_size = (Vector2){32, 32}; spr->frame_size = (Vector2){32, 64};
spr = add_sprite(&engine.assets, "plr_run", tex); spr = add_sprite(&engine.assets, "plr_run", tex);
spr->frame_count = 4; spr->frame_count = 1;
spr->origin = (Vector2){0, 0}; spr->origin = (Vector2){0, 0};
spr->frame_size = (Vector2){32, 32}; spr->frame_size = (Vector2){32, 64};
spr->speed = 15; spr->speed = 30;
LevelScene_t scene; LevelScene_t scene;
scene.scene.engine = &engine; scene.scene.engine = &engine;