|
|
|
@ -31,25 +31,43 @@ bool Crawler::OnUserCreate(){ |
|
|
|
|
camera.EnableWorldBoundary(false); |
|
|
|
|
|
|
|
|
|
//Graphics
|
|
|
|
|
GFX_Pl_Sheet.Load("assets/nico-warrior.png"); |
|
|
|
|
GFX_Warrior_Sheet.Load("assets/nico-warrior.png"); |
|
|
|
|
GFX_Slime_Sheet.Load("assets/slime.png"); |
|
|
|
|
GFX_Circle.Load("assets/circle.png"); |
|
|
|
|
GFX_Effect_GroundSlam_Back.Load("assets/ground-slam-attack-back.png"); |
|
|
|
|
GFX_Effect_GroundSlam_Front.Load("assets/ground-slam-attack-front.png"); |
|
|
|
|
GFX_Heart.Load("assets/heart.png"); |
|
|
|
|
GFX_BLOCK_BUBBLE.Load("assets/block.png"); |
|
|
|
|
GFX_Ranger_Sheet.Load("assets/nico-ranger.png"); |
|
|
|
|
GFX_Wizard_Sheet.Load("assets/nico-wizard.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); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_WALK_N); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_WALK_E); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_WALK_S); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_WALK_W); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_IDLE_N); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_IDLE_E); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_IDLE_S); |
|
|
|
|
player.AddAnimation(AnimationState::WARRIOR_IDLE_W); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_WALK_N); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_WALK_E); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_WALK_S); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_WALK_W); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_IDLE_N); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_IDLE_E); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_IDLE_S); |
|
|
|
|
player.AddAnimation(AnimationState::RANGER_IDLE_W); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_WALK_N); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_WALK_E); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_WALK_S); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_WALK_W); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_IDLE_N); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_IDLE_E); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_IDLE_S); |
|
|
|
|
player.AddAnimation(AnimationState::WIZARD_IDLE_W); |
|
|
|
|
player.AddAnimation(AnimationState::SWINGSWORD_E); |
|
|
|
|
player.AddAnimation(AnimationState::SWINGSWORD_S); |
|
|
|
|
player.AddAnimation(AnimationState::SWINGSWORD_N); |
|
|
|
@ -58,8 +76,6 @@ bool Crawler::OnUserCreate(){ |
|
|
|
|
|
|
|
|
|
player.SetClass(WARRIOR); |
|
|
|
|
player.SetPos({4*24,4*24}); |
|
|
|
|
player.UpdateAnimation(AnimationState::IDLE_S); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SPAWNER_LIST.push_back(MonsterSpawner({360*1,96},4*24,{{ |
|
|
|
|
{MonsterName::SLIME_GREEN,{(rand()%20/2.f-5)*24,(rand()%20/2.f-5)*24}} |
|
|
|
@ -120,59 +136,137 @@ bool Crawler::OnUserUpdate(float fElapsedTime){ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void Crawler::InitializeAnimations(){ |
|
|
|
|
Animate2D::FrameSequence pl_walk_s{0.2}; |
|
|
|
|
pl_walk_s.AddFrame({&GFX_Pl_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_walk_s.AddFrame({&GFX_Pl_Sheet,{vi2d{1,0}*24,{24,24}}}); |
|
|
|
|
pl_walk_s.AddFrame({&GFX_Pl_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_walk_s.AddFrame({&GFX_Pl_Sheet,{vi2d{2,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WALK_S]=pl_walk_s; |
|
|
|
|
Animate2D::FrameSequence pl_walk_e{0.2}; |
|
|
|
|
pl_walk_e.AddFrame({&GFX_Pl_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_walk_e.AddFrame({&GFX_Pl_Sheet,{vi2d{1,3}*24,{24,24}}}); |
|
|
|
|
pl_walk_e.AddFrame({&GFX_Pl_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_walk_e.AddFrame({&GFX_Pl_Sheet,{vi2d{2,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WALK_E]=pl_walk_e; |
|
|
|
|
Animate2D::FrameSequence pl_walk_w{0.2}; |
|
|
|
|
pl_walk_w.AddFrame({&GFX_Pl_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_walk_w.AddFrame({&GFX_Pl_Sheet,{vi2d{1,2}*24,{24,24}}}); |
|
|
|
|
pl_walk_w.AddFrame({&GFX_Pl_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_walk_w.AddFrame({&GFX_Pl_Sheet,{vi2d{2,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WALK_W]=pl_walk_w; |
|
|
|
|
Animate2D::FrameSequence pl_walk_n{0.2}; |
|
|
|
|
pl_walk_n.AddFrame({&GFX_Pl_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_walk_n.AddFrame({&GFX_Pl_Sheet,{vi2d{1,1}*24,{24,24}}}); |
|
|
|
|
pl_walk_n.AddFrame({&GFX_Pl_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_walk_n.AddFrame({&GFX_Pl_Sheet,{vi2d{2,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WALK_N]=pl_walk_n; |
|
|
|
|
Animate2D::FrameSequence pl_idle_s; |
|
|
|
|
pl_idle_s.AddFrame({&GFX_Pl_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::IDLE_S]=pl_idle_s; |
|
|
|
|
Animate2D::FrameSequence pl_idle_e; |
|
|
|
|
pl_idle_e.AddFrame({&GFX_Pl_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::IDLE_E]=pl_idle_e; |
|
|
|
|
Animate2D::FrameSequence pl_idle_w; |
|
|
|
|
pl_idle_w.AddFrame({&GFX_Pl_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::IDLE_W]=pl_idle_w; |
|
|
|
|
Animate2D::FrameSequence pl_idle_n; |
|
|
|
|
pl_idle_n.AddFrame({&GFX_Pl_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::IDLE_N]=pl_idle_n; |
|
|
|
|
Animate2D::FrameSequence pl_swing_s(0.05),pl_swing_n(0.05),pl_swing_e(0.05),pl_swing_w(0.05); |
|
|
|
|
//Warrior animations.
|
|
|
|
|
Animate2D::FrameSequence pl_warrior_walk_s{0.2}; |
|
|
|
|
pl_warrior_walk_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{1,0}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{2,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_WALK_S]=pl_warrior_walk_s; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_walk_e{0.2}; |
|
|
|
|
pl_warrior_walk_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{1,3}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{2,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_WALK_E]=pl_warrior_walk_e; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_walk_w{0.2}; |
|
|
|
|
pl_warrior_walk_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{1,2}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{2,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_WALK_W]=pl_warrior_walk_w; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_walk_n{0.2}; |
|
|
|
|
pl_warrior_walk_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{1,1}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_warrior_walk_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{2,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_WALK_N]=pl_warrior_walk_n; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_idle_s; |
|
|
|
|
pl_warrior_idle_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_IDLE_S]=pl_warrior_idle_s; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_idle_e; |
|
|
|
|
pl_warrior_idle_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_IDLE_E]=pl_warrior_idle_e; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_idle_w; |
|
|
|
|
pl_warrior_idle_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_IDLE_W]=pl_warrior_idle_w; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_idle_n; |
|
|
|
|
pl_warrior_idle_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WARRIOR_IDLE_N]=pl_warrior_idle_n; |
|
|
|
|
Animate2D::FrameSequence pl_warrior_swing_s(0.05),pl_warrior_swing_n(0.05),pl_warrior_swing_e(0.05),pl_warrior_swing_w(0.05); |
|
|
|
|
for (int i=0;i<4;i++){ |
|
|
|
|
pl_swing_s.AddFrame({&GFX_Pl_Sheet,{vi2d{4+i,0}*24,{24,24}}}); |
|
|
|
|
pl_warrior_swing_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,0}*24,{24,24}}}); |
|
|
|
|
} |
|
|
|
|
for (int i=0;i<4;i++){ |
|
|
|
|
pl_swing_n.AddFrame({&GFX_Pl_Sheet,{vi2d{4+i,1}*24,{24,24}}}); |
|
|
|
|
pl_warrior_swing_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,1}*24,{24,24}}}); |
|
|
|
|
} |
|
|
|
|
for (int i=0;i<4;i++){ |
|
|
|
|
pl_swing_w.AddFrame({&GFX_Pl_Sheet,{vi2d{4+i,2}*24,{24,24}}}); |
|
|
|
|
pl_warrior_swing_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,2}*24,{24,24}}}); |
|
|
|
|
} |
|
|
|
|
for (int i=0;i<4;i++){ |
|
|
|
|
pl_swing_e.AddFrame({&GFX_Pl_Sheet,{vi2d{4+i,3}*24,{24,24}}}); |
|
|
|
|
pl_warrior_swing_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,3}*24,{24,24}}}); |
|
|
|
|
} |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_N]=pl_swing_n; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_E]=pl_swing_e; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_S]=pl_swing_s; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_W]=pl_swing_w; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_N]=pl_warrior_swing_n; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_E]=pl_warrior_swing_e; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_S]=pl_warrior_swing_s; |
|
|
|
|
ANIMATION_DATA[AnimationState::SWINGSWORD_W]=pl_warrior_swing_w; |
|
|
|
|
|
|
|
|
|
//Ranger animations
|
|
|
|
|
Animate2D::FrameSequence pl_ranger_walk_s{0.2}; |
|
|
|
|
pl_ranger_walk_s.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_s.AddFrame({&GFX_Ranger_Sheet,{vi2d{1,0}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_s.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_s.AddFrame({&GFX_Ranger_Sheet,{vi2d{2,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_WALK_S]=pl_ranger_walk_s; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_walk_e{0.2}; |
|
|
|
|
pl_ranger_walk_e.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_e.AddFrame({&GFX_Ranger_Sheet,{vi2d{1,3}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_e.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_e.AddFrame({&GFX_Ranger_Sheet,{vi2d{2,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_WALK_E]=pl_ranger_walk_e; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_walk_w{0.2}; |
|
|
|
|
pl_ranger_walk_w.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_w.AddFrame({&GFX_Ranger_Sheet,{vi2d{1,2}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_w.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_w.AddFrame({&GFX_Ranger_Sheet,{vi2d{2,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_WALK_W]=pl_ranger_walk_w; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_walk_n{0.2}; |
|
|
|
|
pl_ranger_walk_n.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_n.AddFrame({&GFX_Ranger_Sheet,{vi2d{1,1}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_n.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_ranger_walk_n.AddFrame({&GFX_Ranger_Sheet,{vi2d{2,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_WALK_N]=pl_ranger_walk_n; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_idle_s; |
|
|
|
|
pl_ranger_idle_s.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_IDLE_S]=pl_ranger_idle_s; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_idle_e; |
|
|
|
|
pl_ranger_idle_e.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_IDLE_E]=pl_ranger_idle_e; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_idle_w; |
|
|
|
|
pl_ranger_idle_w.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_IDLE_W]=pl_ranger_idle_w; |
|
|
|
|
Animate2D::FrameSequence pl_ranger_idle_n; |
|
|
|
|
pl_ranger_idle_n.AddFrame({&GFX_Ranger_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::RANGER_IDLE_N]=pl_ranger_idle_n; |
|
|
|
|
|
|
|
|
|
//Wizard animations
|
|
|
|
|
Animate2D::FrameSequence pl_wizard_walk_s{0.2}; |
|
|
|
|
pl_wizard_walk_s.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_s.AddFrame({&GFX_Wizard_Sheet,{vi2d{1,0}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_s.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_s.AddFrame({&GFX_Wizard_Sheet,{vi2d{2,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_WALK_S]=pl_wizard_walk_s; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_walk_e{0.2}; |
|
|
|
|
pl_wizard_walk_e.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_e.AddFrame({&GFX_Wizard_Sheet,{vi2d{1,3}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_e.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_e.AddFrame({&GFX_Wizard_Sheet,{vi2d{2,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_WALK_E]=pl_wizard_walk_e; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_walk_w{0.2}; |
|
|
|
|
pl_wizard_walk_w.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_w.AddFrame({&GFX_Wizard_Sheet,{vi2d{1,2}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_w.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_w.AddFrame({&GFX_Wizard_Sheet,{vi2d{2,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_WALK_W]=pl_wizard_walk_w; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_walk_n{0.2}; |
|
|
|
|
pl_wizard_walk_n.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_n.AddFrame({&GFX_Wizard_Sheet,{vi2d{1,1}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_n.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
pl_wizard_walk_n.AddFrame({&GFX_Wizard_Sheet,{vi2d{2,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_WALK_N]=pl_wizard_walk_n; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_idle_s; |
|
|
|
|
pl_wizard_idle_s.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,0}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_IDLE_S]=pl_wizard_idle_s; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_idle_e; |
|
|
|
|
pl_wizard_idle_e.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,3}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_IDLE_E]=pl_wizard_idle_e; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_idle_w; |
|
|
|
|
pl_wizard_idle_w.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,2}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_IDLE_W]=pl_wizard_idle_w; |
|
|
|
|
Animate2D::FrameSequence pl_wizard_idle_n; |
|
|
|
|
pl_wizard_idle_n.AddFrame({&GFX_Wizard_Sheet,{vi2d{0,1}*24,{24,24}}}); |
|
|
|
|
ANIMATION_DATA[AnimationState::WIZARD_IDLE_N]=pl_wizard_idle_n; |
|
|
|
|
|
|
|
|
|
//Load slime animations.
|
|
|
|
|
for(int slime=0;slime<4;slime++){ |
|
|
|
|
for(int state=0;state<5;state++){ |
|
|
|
@ -225,9 +319,49 @@ bool Crawler::DownReleased(){ |
|
|
|
|
|
|
|
|
|
void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
bool setIdleAnimation=true; |
|
|
|
|
if(GetKey(SPACE).bPressed&&player.GetAbility2Cooldown()==0){ |
|
|
|
|
player.Spin(Player::GROUND_SLAM_SPIN_TIME,14*PI); |
|
|
|
|
player.iframe_time=Player::GROUND_SLAM_SPIN_TIME+0.1; |
|
|
|
|
if(GetMouseWheel()>0){ |
|
|
|
|
switch(player.cl){ |
|
|
|
|
case WARRIOR:{ |
|
|
|
|
player.SetClass(RANGER); |
|
|
|
|
}break; |
|
|
|
|
case RANGER:{ |
|
|
|
|
player.SetClass(WIZARD); |
|
|
|
|
}break; |
|
|
|
|
case WIZARD:{ |
|
|
|
|
player.SetClass(WARRIOR); |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(GetMouseWheel()<0){ |
|
|
|
|
switch(player.cl){ |
|
|
|
|
case WARRIOR:{ |
|
|
|
|
player.SetClass(WIZARD); |
|
|
|
|
}break; |
|
|
|
|
case RANGER:{ |
|
|
|
|
player.SetClass(WARRIOR); |
|
|
|
|
}break; |
|
|
|
|
case WIZARD:{ |
|
|
|
|
player.SetClass(RANGER); |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(player.ability2.cooldown==0&&GetKey(SPACE).bPressed){ |
|
|
|
|
switch(player.cl){ |
|
|
|
|
case WARRIOR:{ |
|
|
|
|
player.Spin(Player::GROUND_SLAM_SPIN_TIME,14*PI); |
|
|
|
|
player.iframe_time=Player::GROUND_SLAM_SPIN_TIME+0.1; |
|
|
|
|
}break; |
|
|
|
|
case THIEF:{ |
|
|
|
|
}break; |
|
|
|
|
case RANGER:{ |
|
|
|
|
}break; |
|
|
|
|
case BARD:{ |
|
|
|
|
}break; |
|
|
|
|
case WIZARD:{ |
|
|
|
|
}break; |
|
|
|
|
case WITCH:{ |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(player.GetVelocity()==vf2d{0,0}){ |
|
|
|
|
if(RightHeld()){ |
|
|
|
@ -238,7 +372,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
} |
|
|
|
|
player.SetFacingDirection(RIGHT); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_E); |
|
|
|
|
player.UpdateWalkingAnimation(RIGHT); |
|
|
|
|
} |
|
|
|
|
setIdleAnimation=false; |
|
|
|
|
} |
|
|
|
@ -251,7 +385,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
if(setIdleAnimation){ |
|
|
|
|
player.SetFacingDirection(LEFT); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_W); |
|
|
|
|
player.UpdateWalkingAnimation(LEFT); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
setIdleAnimation=false; |
|
|
|
@ -265,7 +399,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
if(setIdleAnimation){ |
|
|
|
|
player.SetFacingDirection(UP); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_N); |
|
|
|
|
player.UpdateWalkingAnimation(UP); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
setIdleAnimation=false; |
|
|
|
@ -279,7 +413,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
if(setIdleAnimation){ |
|
|
|
|
player.SetFacingDirection(DOWN); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_S); |
|
|
|
|
player.UpdateWalkingAnimation(DOWN); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
setIdleAnimation=false; |
|
|
|
@ -289,13 +423,13 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
player.SetLastReleasedMovementKey(UP); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
if(RightHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_E); |
|
|
|
|
player.UpdateWalkingAnimation(RIGHT); |
|
|
|
|
} else |
|
|
|
|
if(DownHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_S); |
|
|
|
|
player.UpdateWalkingAnimation(DOWN); |
|
|
|
|
} else |
|
|
|
|
if(LeftHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_W); |
|
|
|
|
player.UpdateWalkingAnimation(LEFT); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -303,13 +437,13 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
player.SetLastReleasedMovementKey(RIGHT); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
if(UpHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_N); |
|
|
|
|
player.UpdateWalkingAnimation(UP); |
|
|
|
|
} else |
|
|
|
|
if(DownHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_S); |
|
|
|
|
player.UpdateWalkingAnimation(DOWN); |
|
|
|
|
} else |
|
|
|
|
if(LeftHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_W); |
|
|
|
|
player.UpdateWalkingAnimation(LEFT); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -317,13 +451,13 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
player.SetLastReleasedMovementKey(LEFT); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
if(RightHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_E); |
|
|
|
|
player.UpdateWalkingAnimation(RIGHT); |
|
|
|
|
} else |
|
|
|
|
if(DownHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_S); |
|
|
|
|
player.UpdateWalkingAnimation(DOWN); |
|
|
|
|
} else |
|
|
|
|
if(UpHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_N); |
|
|
|
|
player.UpdateWalkingAnimation(UP); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -331,13 +465,13 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
player.SetLastReleasedMovementKey(DOWN); |
|
|
|
|
if(player.GetState()==State::NORMAL){ |
|
|
|
|
if(RightHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_E); |
|
|
|
|
player.UpdateWalkingAnimation(RIGHT); |
|
|
|
|
} else |
|
|
|
|
if(UpHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_N); |
|
|
|
|
player.UpdateWalkingAnimation(UP); |
|
|
|
|
} else |
|
|
|
|
if(LeftHeld()){ |
|
|
|
|
player.UpdateAnimation(AnimationState::WALK_W); |
|
|
|
|
player.UpdateWalkingAnimation(LEFT); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -372,19 +506,19 @@ void Crawler::HandleUserInput(float fElapsedTime){ |
|
|
|
|
if(setIdleAnimation){ |
|
|
|
|
switch(player.GetLastReleasedMovementKey()){ |
|
|
|
|
case UP:{ |
|
|
|
|
player.UpdateAnimation(AnimationState::IDLE_N); |
|
|
|
|
player.UpdateIdleAnimation(UP); |
|
|
|
|
}break; |
|
|
|
|
case DOWN:{ |
|
|
|
|
player.UpdateAnimation(AnimationState::IDLE_S); |
|
|
|
|
player.UpdateIdleAnimation(DOWN); |
|
|
|
|
}break; |
|
|
|
|
case LEFT:{ |
|
|
|
|
player.UpdateAnimation(AnimationState::IDLE_W); |
|
|
|
|
player.UpdateIdleAnimation(LEFT); |
|
|
|
|
}break; |
|
|
|
|
case RIGHT:{ |
|
|
|
|
player.UpdateAnimation(AnimationState::IDLE_E); |
|
|
|
|
player.UpdateIdleAnimation(RIGHT); |
|
|
|
|
}break; |
|
|
|
|
default:{ |
|
|
|
|
player.UpdateAnimation(AnimationState::IDLE_S); |
|
|
|
|
player.UpdateIdleAnimation(DOWN); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|