现在,该处理这个蓝图了
在这里插入图片描述
在这里插入图片描述

//攻击
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true"))
class UInputAction* AttackAction;

在这里插入图片描述

void AMyPaperZDCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
UEnhancedInputComponent* enhancedInputComponent = CastChecked(PlayerInputComponent);
if (!enhancedInputComponent)
{
return;
}
enhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AMyPaperZDCharacter::Move);
enhancedInputComponent->BindAction(AttackAction, ETriggerEvent::Started, this, &AMyPaperZDCharacter::Attack);

}

//攻击
void Attack(const FInputActionValue& value);

void AMyPaperZDCharacter::Attack(const FInputActionValue& value)
{
//如果死亡,则返回
if (IsDead)
{
return;
}
//如果正在攻击,则返回
if (IsAttacking)
{
return;
}
IsAttacking = true;
//执行攻击
ExecuteAttack();
//005初始化攻击暂时蓝图进行
InitializeAttackBullets005(comboIndex);

}

先保留005初始化子弹到蓝图,以后再处理这块

//005子弹初始化
UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Combat")
void InitializeAttackBullets005(int32 index);
virtual void InitializeAttackBullets005_Implementation(int32 index) {}

在蓝图中重载这个函数
在这里插入图片描述
在这里插入图片描述

更多推荐