首页 > 解决方案 > 在 Unreal-Engine 4 中,有没有办法在动画书完成动画后停止它?

问题描述

当一本动画书在虚幻引擎 4 (2d) 中结束动画时,我试图销毁它。但是,我似乎找不到停止翻书动画的方法,你能帮忙吗?

有没有办法在动画后停止翻书?

我对虚幻有点陌生,我到处寻找选项。这是我必须以编程方式处理图表的事情吗?

标签: 2dunreal-engine4unreal-blueprint

解决方案


在这里,我有一个实施示例,我知道为时已晚,但希望对您有所帮助

void AHeroCharacter::UpdateAnimation(){
   const FVector PlayerVelocity = GetVelocity();
   const float PlayerSpeedSqr = PlayerVelocity.SizeSquared();
   const int32 PlaybackPositionInFrames = GetSprite()->GetPlaybackPositionInFrames();
   const int32 FlipbookLengthInFrames = GetSprite()->GetFlipbookLengthInFrames();
   UPaperFlipbook* DesiredAnimation;

   if (GetCharacterMovement()->IsFalling()) {
        DesiredAnimation = JumpAnimation;
        GetSprite()->SetFlipbook(DesiredAnimation);
        if (PlaybackPositionInFrames == FlipbookLengthInFrames - 1) GetSprite()->Stop();
        return;
   }

   GetSprite()->Play();
   if (PlayerSpeedSqr > 0.0f) {
        DesiredAnimation = RunningAnimation;
        GetSprite()->SetFlipbook(DesiredAnimation);
   }
   else {
       DesiredAnimation = IdleAnimation;
       GetSprite()->SetFlipbook(DesiredAnimation);
   }
}

推荐阅读