Add in multi-key mapping for same key actions.
This commit is contained in:
parent
7c542740cc
commit
b5b7097418
@ -143,12 +143,37 @@ void Crawler::InitializeAnimations(){
|
|||||||
ANIMATION_DATA[AnimationState::GROUND_SLAM_ATTACK_FRONT]=effect_groundslam_front;
|
ANIMATION_DATA[AnimationState::GROUND_SLAM_ATTACK_FRONT]=effect_groundslam_front;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Crawler::LeftHeld(){
|
||||||
|
return GetKey(LEFT).bHeld|GetKey(A).bHeld;
|
||||||
|
}
|
||||||
|
bool Crawler::RightHeld(){
|
||||||
|
return GetKey(RIGHT).bHeld|GetKey(D).bHeld;
|
||||||
|
}
|
||||||
|
bool Crawler::UpHeld(){
|
||||||
|
return GetKey(UP).bHeld|GetKey(W).bHeld;
|
||||||
|
}
|
||||||
|
bool Crawler::DownHeld(){
|
||||||
|
return GetKey(DOWN).bHeld|GetKey(S).bHeld;
|
||||||
|
}
|
||||||
|
bool Crawler::LeftReleased(){
|
||||||
|
return GetKey(LEFT).bReleased|GetKey(A).bReleased;
|
||||||
|
}
|
||||||
|
bool Crawler::RightReleased(){
|
||||||
|
return GetKey(RIGHT).bReleased|GetKey(D).bReleased;
|
||||||
|
}
|
||||||
|
bool Crawler::UpReleased(){
|
||||||
|
return GetKey(UP).bReleased|GetKey(W).bReleased;
|
||||||
|
}
|
||||||
|
bool Crawler::DownReleased(){
|
||||||
|
return GetKey(DOWN).bReleased|GetKey(S).bReleased;
|
||||||
|
}
|
||||||
|
|
||||||
void Crawler::HandleUserInput(float fElapsedTime){
|
void Crawler::HandleUserInput(float fElapsedTime){
|
||||||
bool setIdleAnimation=true;
|
bool setIdleAnimation=true;
|
||||||
if(GetKey(SPACE).bPressed&&player.GetState()==State::NORMAL&&player.GetGroundSlamCooldown()==0){
|
if(GetKey(SPACE).bPressed&&player.GetState()==State::NORMAL&&player.GetGroundSlamCooldown()==0){
|
||||||
player.Spin(Player::GROUND_SLAM_SPIN_TIME,14*PI);
|
player.Spin(Player::GROUND_SLAM_SPIN_TIME,14*PI);
|
||||||
}
|
}
|
||||||
if(GetKey(RIGHT).bHeld){
|
if(RightHeld()){
|
||||||
if(player.GetPos().x+12+fElapsedTime*100*player.GetMoveSpdMult()<WORLD_SIZE.x*24){
|
if(player.GetPos().x+12+fElapsedTime*100*player.GetMoveSpdMult()<WORLD_SIZE.x*24){
|
||||||
player.SetX(player.GetX()+fElapsedTime*100*player.GetMoveSpdMult());
|
player.SetX(player.GetX()+fElapsedTime*100*player.GetMoveSpdMult());
|
||||||
} else {
|
} else {
|
||||||
@ -158,7 +183,7 @@ void Crawler::HandleUserInput(float fElapsedTime){
|
|||||||
player.UpdateAnimation(AnimationState::WALK_E);
|
player.UpdateAnimation(AnimationState::WALK_E);
|
||||||
setIdleAnimation=false;
|
setIdleAnimation=false;
|
||||||
}
|
}
|
||||||
if(GetKey(LEFT).bHeld){
|
if(LeftHeld()){
|
||||||
if(player.GetPos().x-12+fElapsedTime*100*player.GetMoveSpdMult()>0){
|
if(player.GetPos().x-12+fElapsedTime*100*player.GetMoveSpdMult()>0){
|
||||||
player.SetX(player.GetX()-fElapsedTime*100*player.GetMoveSpdMult());
|
player.SetX(player.GetX()-fElapsedTime*100*player.GetMoveSpdMult());
|
||||||
} else {
|
} else {
|
||||||
@ -170,7 +195,7 @@ void Crawler::HandleUserInput(float fElapsedTime){
|
|||||||
}
|
}
|
||||||
setIdleAnimation=false;
|
setIdleAnimation=false;
|
||||||
}
|
}
|
||||||
if(GetKey(UP).bHeld){
|
if(UpHeld()){
|
||||||
if(player.GetPos().y-12+fElapsedTime*100*player.GetMoveSpdMult()>0){
|
if(player.GetPos().y-12+fElapsedTime*100*player.GetMoveSpdMult()>0){
|
||||||
player.SetY(player.GetY()-fElapsedTime*100*player.GetMoveSpdMult());
|
player.SetY(player.GetY()-fElapsedTime*100*player.GetMoveSpdMult());
|
||||||
} else {
|
} else {
|
||||||
@ -182,7 +207,7 @@ void Crawler::HandleUserInput(float fElapsedTime){
|
|||||||
}
|
}
|
||||||
setIdleAnimation=false;
|
setIdleAnimation=false;
|
||||||
}
|
}
|
||||||
if(GetKey(DOWN).bHeld){
|
if(DownHeld()){
|
||||||
if(player.GetPos().y+12+fElapsedTime*100*player.GetMoveSpdMult()<WORLD_SIZE.y*24){
|
if(player.GetPos().y+12+fElapsedTime*100*player.GetMoveSpdMult()<WORLD_SIZE.y*24){
|
||||||
player.SetY(player.GetY()+fElapsedTime*100*player.GetMoveSpdMult());
|
player.SetY(player.GetY()+fElapsedTime*100*player.GetMoveSpdMult());
|
||||||
} else {
|
} else {
|
||||||
@ -195,51 +220,51 @@ void Crawler::HandleUserInput(float fElapsedTime){
|
|||||||
setIdleAnimation=false;
|
setIdleAnimation=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(GetKey(UP).bReleased){
|
if(UpReleased()){
|
||||||
player.SetLastReleasedMovementKey(UP);
|
player.SetLastReleasedMovementKey(UP);
|
||||||
if(GetKey(RIGHT).bHeld){
|
if(RightHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_E);
|
player.UpdateAnimation(AnimationState::WALK_E);
|
||||||
} else
|
} else
|
||||||
if(GetKey(DOWN).bHeld){
|
if(DownHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_S);
|
|
||||||
} else
|
|
||||||
if(GetKey(LEFT).bHeld){
|
|
||||||
player.UpdateAnimation(AnimationState::WALK_W);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(GetKey(RIGHT).bReleased){
|
|
||||||
player.SetLastReleasedMovementKey(RIGHT);
|
|
||||||
if(GetKey(UP).bHeld){
|
|
||||||
player.UpdateAnimation(AnimationState::WALK_N);
|
|
||||||
} else
|
|
||||||
if(GetKey(DOWN).bHeld){
|
|
||||||
player.UpdateAnimation(AnimationState::WALK_S);
|
player.UpdateAnimation(AnimationState::WALK_S);
|
||||||
} else
|
} else
|
||||||
if(GetKey(LEFT).bHeld){
|
if(LeftHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_W);
|
player.UpdateAnimation(AnimationState::WALK_W);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(GetKey(LEFT).bReleased){
|
if(RightReleased()){
|
||||||
player.SetLastReleasedMovementKey(LEFT);
|
player.SetLastReleasedMovementKey(RIGHT);
|
||||||
if(GetKey(RIGHT).bHeld){
|
if(UpHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_E);
|
player.UpdateAnimation(AnimationState::WALK_N);
|
||||||
} else
|
} else
|
||||||
if(GetKey(DOWN).bHeld){
|
if(DownHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_S);
|
player.UpdateAnimation(AnimationState::WALK_S);
|
||||||
} else
|
} else
|
||||||
if(GetKey(UP).bHeld){
|
if(LeftHeld()){
|
||||||
|
player.UpdateAnimation(AnimationState::WALK_W);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(LeftReleased()){
|
||||||
|
player.SetLastReleasedMovementKey(LEFT);
|
||||||
|
if(RightHeld()){
|
||||||
|
player.UpdateAnimation(AnimationState::WALK_E);
|
||||||
|
} else
|
||||||
|
if(DownHeld()){
|
||||||
|
player.UpdateAnimation(AnimationState::WALK_S);
|
||||||
|
} else
|
||||||
|
if(UpHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_N);
|
player.UpdateAnimation(AnimationState::WALK_N);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(GetKey(DOWN).bReleased){
|
if(DownReleased()){
|
||||||
player.SetLastReleasedMovementKey(DOWN);
|
player.SetLastReleasedMovementKey(DOWN);
|
||||||
if(GetKey(RIGHT).bHeld){
|
if(RightHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_E);
|
player.UpdateAnimation(AnimationState::WALK_E);
|
||||||
} else
|
} else
|
||||||
if(GetKey(UP).bHeld){
|
if(UpHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_N);
|
player.UpdateAnimation(AnimationState::WALK_N);
|
||||||
} else
|
} else
|
||||||
if(GetKey(LEFT).bHeld){
|
if(LeftHeld()){
|
||||||
player.UpdateAnimation(AnimationState::WALK_W);
|
player.UpdateAnimation(AnimationState::WALK_W);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,4 +33,12 @@ public:
|
|||||||
void AddEffect(Effect foreground,Effect background);
|
void AddEffect(Effect foreground,Effect background);
|
||||||
void HurtEnemies(vf2d pos,float radius,int damage);
|
void HurtEnemies(vf2d pos,float radius,int damage);
|
||||||
vf2d GetWorldMousePos();
|
vf2d GetWorldMousePos();
|
||||||
|
bool LeftHeld();
|
||||||
|
bool RightHeld();
|
||||||
|
bool UpHeld();
|
||||||
|
bool DownHeld();
|
||||||
|
bool LeftReleased();
|
||||||
|
bool RightReleased();
|
||||||
|
bool UpReleased();
|
||||||
|
bool DownReleased();
|
||||||
};
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user