Trying to add pre-jump logic and animation

This commit is contained in:
Kevin Poretti 2022-01-29 22:24:26 -05:00
parent 2eeac7443e
commit c73e8b1c5a
6 changed files with 40 additions and 10 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -71,8 +71,15 @@ UPaperFlipbook* AKOFBaseCharacter::GetAnimation(FName Key)
void AKOFBaseCharacter::UpdateAnimation() void AKOFBaseCharacter::UpdateAnimation()
{ {
// need to get the animation based on what state we're in...
// rendering // rendering
if(!bIsInAir) if(!bIsInAir)
{
if(bWantsToJump)
{
SetAnimationFlipbook("PRE_JUMP");
}
else
{ {
if(Direction > 0) if(Direction > 0)
{ {
@ -87,6 +94,7 @@ void AKOFBaseCharacter::UpdateAnimation()
SetAnimationFlipbook("IDLE"); SetAnimationFlipbook("IDLE");
} }
} }
}
else else
{ {
SetAnimationFlipbook("JUMP_NEUTRAL"); SetAnimationFlipbook("JUMP_NEUTRAL");
@ -124,7 +132,7 @@ void AKOFBaseCharacter::ProcessInputs(EVirtualGamePadButton Button)
switch(Button) switch(Button)
{ {
case EVirtualGamePadButton::VGP_Up: case EVirtualGamePadButton::VGP_Up:
Jump(); bWantsToJump = true;
break; break;
} }
} }
@ -202,6 +210,16 @@ void AKOFBaseCharacter::Tick(float DeltaTime)
{ {
Super::Tick(DeltaTime); Super::Tick(DeltaTime);
if(!bIsInAir && bWantsToJump)
{
TicksSinceJumpRequested++;
if(TicksSinceJumpRequested >= 4)
{
Jump();
TicksSinceJumpRequested = 0;
bWantsToJump = false;
}
}
// character logic // character logic
UpdateMovement(FFixed(DeltaTime)); UpdateMovement(FFixed(DeltaTime));

View File

@ -99,6 +99,9 @@ protected:
bool bIsInAir; bool bIsInAir;
bool bWantsToJump;
int TicksSinceJumpRequested;
void Jump(); void Jump();
// input and control // input and control