From 1e0e40c77b7184466daf540d9e17f472571530a9 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sun, 11 Jun 2023 20:44:51 -0500 Subject: [PATCH] Refactor animation data location. --- Crawler/Animation.h | 6 ++ Crawler/Crawler.vcxproj | 1 + Crawler/Crawler.vcxproj.filters | 3 + Crawler/Monster.cpp | 2 + Crawler/Monster.h | 9 +++ Crawler/assets/slime.png | Bin 22415 -> 29445 bytes Crawler/main.cpp | 118 +++++++++++++++++--------------- 7 files changed, 84 insertions(+), 55 deletions(-) create mode 100644 Crawler/Animation.h diff --git a/Crawler/Animation.h b/Crawler/Animation.h new file mode 100644 index 00000000..6b28877c --- /dev/null +++ b/Crawler/Animation.h @@ -0,0 +1,6 @@ +#pragma once + +enum AnimationState{ + WALK_S,WALK_E,WALK_N,WALK_W, + IDLE_S,IDLE_E,IDLE_N,IDLE_W +}; \ No newline at end of file diff --git a/Crawler/Crawler.vcxproj b/Crawler/Crawler.vcxproj index 124e59b1..aa3c38f3 100644 --- a/Crawler/Crawler.vcxproj +++ b/Crawler/Crawler.vcxproj @@ -129,6 +129,7 @@ + diff --git a/Crawler/Crawler.vcxproj.filters b/Crawler/Crawler.vcxproj.filters index 9ba021dd..ea456f93 100644 --- a/Crawler/Crawler.vcxproj.filters +++ b/Crawler/Crawler.vcxproj.filters @@ -33,6 +33,9 @@ Header Files + + Header Files + diff --git a/Crawler/Monster.cpp b/Crawler/Monster.cpp index a5c71d21..f0924400 100644 --- a/Crawler/Monster.cpp +++ b/Crawler/Monster.cpp @@ -1,5 +1,7 @@ #include "Monster.h" +extern std::mapANIMATION_DATA; + MonsterData::MonsterData(){} MonsterData::MonsterData(int hp,int atk,float moveSpd,float size,MonsterStrategy strategy): hp(hp),atk(atk),moveSpd(moveSpd),size(size),strategy(strategy){ diff --git a/Crawler/Monster.h b/Crawler/Monster.h index 008f0d77..624ae8d9 100644 --- a/Crawler/Monster.h +++ b/Crawler/Monster.h @@ -1,4 +1,6 @@ #include "olcPixelGameEngine.h" +#include "Animation.h" +#include "olcUTIL_Animate2D.h" enum MonsterStrategy{ RUN_TOWARDS, @@ -12,6 +14,7 @@ struct MonsterData{ float moveSpd;//1.0=100% float size; MonsterStrategy strategy; + Animate2D::Animationanimation; public: MonsterData(); MonsterData(int hp,int atk,float moveSpd=1.0f,float size=1.0f,MonsterStrategy strategy=RUN_TOWARDS); @@ -45,4 +48,10 @@ struct Monster{ int GetAttack(); float GetMoveSpdMult(); float GetSizeMult(); +}; + +struct MonsterSpawner{ + vf2d pos; + int range; + std::vector>monsters; }; \ No newline at end of file diff --git a/Crawler/assets/slime.png b/Crawler/assets/slime.png index 8c9a2063a1af3d72dd5158aa932d62736440d2db..2cb03fb7bf4e301d913680a77bf2123ba36554af 100644 GIT binary patch delta 25669 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 delta 18772 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 - -enum AnimationState{ - WALK_S,WALK_E,WALK_N,WALK_W, - IDLE_S,IDLE_E,IDLE_N,IDLE_W -}; +std::mapANIMATION_DATA; struct Player{ private: @@ -72,8 +69,8 @@ struct Player{ void Update(float fElapsedTime){ animation.UpdateState(internal_animState,fElapsedTime); } - void AddAnimation(AnimationState state,Animate2D::FrameSequence frame){ - animation.AddState(state,frame); + void AddAnimation(AnimationState state){ + animation.AddState(state,ANIMATION_DATA[state]); }; void UpdateAnimation(AnimationState animState){ animation.ChangeState(internal_animState,animState); @@ -119,61 +116,72 @@ public: GFX_Pl_sheet.Load("assets/nico-warrior.png"); //Animations + InitializeAnimations(); + + player.AddAnimation(AnimationState::WALK_N); + player.AddAnimation(AnimationState::WALK_E); + player.AddAnimation(AnimationState::WALK_S); + player.AddAnimation(AnimationState::WALK_W); + player.AddAnimation(AnimationState::IDLE_N); + player.AddAnimation(AnimationState::IDLE_E); + player.AddAnimation(AnimationState::IDLE_S); + player.AddAnimation(AnimationState::IDLE_W); + view=TileTransformedView{GetScreenSize(),{1,1}}; + + player.SetPos({4*24,4*24}); + player.UpdateAnimation(AnimationState::IDLE_S); + + std::cout<